示例#1
0
 public function index()
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     phpVersionTestDL();
     // catch php version error immediately
     //       $login = file_get_contents('http://localhost/laravel-login/app/models/check_login.php');
     //       $login = json_decode($login, true);
     $login = check_login();
     $gco = check_gco();
     $chikitsa = check_chikitsa();
     if (isset($login['check_session']) || isset($gco['check_gco']) || isset($chikitsa['check_chikitsa'])) {
         //         $u  = $this->input->post('username');
         $u = "root";
         //         $pw = $this->input->post('password');
         $pw = "root";
         $this->load->model('admin/muser_accts', 'clsUserAccts');
         $this->load->model('admin/muser_log', 'clsUserLog');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->helper('dl_util/util_db');
         setNameSpace(false);
         // also loads database
         $this->clsUserLog->el_lUserID = $lUserID = $this->clsUserAccts->verifyUser($u, $pw, $bSuperUser, $bAdmin, $lVolID, $bVolMgr, $bVolAcct);
         $bSuccess = $lUserID > 0;
         $this->clsUserLog->lAddLogEntry($bSuccess, $u);
         if ($lUserID > 0) {
             if (!$this->clsUserAccts->bVerifyDBVersion($strExpected, $strActual)) {
                 if ($bSuperUser) {
                     $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
                     $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
                     $_SESSION[CS_NAMESPACE . 'user']->bSuperUser = true;
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of the Hospice Volunteer Solutions!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please upgrade your database before continuing.');
                     redirect('upgrade_db');
                 } else {
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of Hospice Volunteer Solutions!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please contact your system administrator.');
                     redirect('login');
                 }
             }
             $this->clsUserAccts->loadSingleUserRecord($lUserID);
             $clsUser = $this->clsUserAccts->userRec[0];
             $lChapterID = $clsUser->us_lChapterID;
             $this->setChapterSession($lChapterID, $lACOID);
             // initialize custom navigation
             $_SESSION[CS_NAMESPACE . 'nav'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'nav']->lCnt = 0;
             $_SESSION[CS_NAMESPACE . 'nav']->navFiles = array();
             $this->setBrowserInfo();
             $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
             $_SESSION[CS_NAMESPACE . 'user']->lVolID = $lVolID;
             $_SESSION[CS_NAMESPACE . 'user']->strUserName = $clsUser->us_strUserName;
             $_SESSION[CS_NAMESPACE . 'user']->bSuperUser = $bSuperUser = $clsUser->us_bSuperUser;
             $_SESSION[CS_NAMESPACE . 'user']->bAdmin = $bAdmin = $clsUser->us_bAdmin;
             $_SESSION[CS_NAMESPACE . 'user']->bVolLogin = $bVolLogin = $clsUser->bVolAccount;
             $_SESSION[CS_NAMESPACE . 'user']->bStandardUser = $bStandardUser = $clsUser->bStandardUser;
             $_SESSION[CS_NAMESPACE . 'user']->bVolMgr = $bVolMgr = $bStandardUser && $clsUser->bUserVolManager;
             $_SESSION[CS_NAMESPACE . 'user']->bDebugger = $clsUser->us_bDebugger;
             $_SESSION[CS_NAMESPACE . 'user']->strFirstName = $clsUser->us_strFirstName;
             $_SESSION[CS_NAMESPACE . 'user']->strLastName = $clsUser->us_strLastName;
             $_SESSION[CS_NAMESPACE . 'user']->strSafeName = $clsUser->strSafeName;
             $_SESSION[CS_NAMESPACE . 'user']->enumDateFormat = 'm/d/Y';
             // $clsUser->us_enumDateFormat;
             $_SESSION[CS_NAMESPACE . 'user']->enumMeasurePref = $clsUser->us_enumMeasurePref;
             $_SESSION[CS_NAMESPACE . 'user']->lRecsPerPage = 50;
             $_SESSION["check_loginhvol"] = 1;
             redirect('welcome');
         } else {
             $this->session->set_flashdata('error', 'Your login information was not correct.');
             redirect('login');
         }
     } elseif ($this->input->post('username')) {
         $u = $this->input->post('username');
         $pw = $this->input->post('password');
         $this->load->model('admin/muser_accts', 'clsUserAccts');
         $this->load->model('admin/muser_log', 'clsUserLog');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->helper('dl_util/util_db');
         setNameSpace(false);
         // also loads database
         $this->clsUserLog->el_lUserID = $lUserID = $this->clsUserAccts->verifyUser($u, $pw, $bSuperUser, $bAdmin, $lVolID, $bVolMgr, $bVolAcct);
         $bSuccess = $lUserID > 0;
         $this->clsUserLog->lAddLogEntry($bSuccess, $u);
         if ($lUserID > 0) {
             if (!$this->clsUserAccts->bVerifyDBVersion($strExpected, $strActual)) {
                 if ($bSuperUser) {
                     $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
                     $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
                     $_SESSION[CS_NAMESPACE . 'user']->bSuperUser = true;
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of the Hospice Volunteer Solutions!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please upgrade your database before continuing.');
                     redirect('upgrade_db');
                 } else {
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of Hospice Volunteer Solutions!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please contact your system administrator.');
                     redirect('login');
                 }
             }
             $this->clsUserAccts->loadSingleUserRecord($lUserID);
             $clsUser = $this->clsUserAccts->userRec[0];
             $lChapterID = $clsUser->us_lChapterID;
             $this->setChapterSession($lChapterID, $lACOID);
             // initialize custom navigation
             $_SESSION[CS_NAMESPACE . 'nav'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'nav']->lCnt = 0;
             $_SESSION[CS_NAMESPACE . 'nav']->navFiles = array();
             $this->setBrowserInfo();
             $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
             $_SESSION[CS_NAMESPACE . 'user']->lVolID = $lVolID;
             $_SESSION[CS_NAMESPACE . 'user']->strUserName = $clsUser->us_strUserName;
             $_SESSION[CS_NAMESPACE . 'user']->bSuperUser = $bSuperUser = $clsUser->us_bSuperUser;
             $_SESSION[CS_NAMESPACE . 'user']->bAdmin = $bAdmin = $clsUser->us_bAdmin;
             $_SESSION[CS_NAMESPACE . 'user']->bVolLogin = $bVolLogin = $clsUser->bVolAccount;
             $_SESSION[CS_NAMESPACE . 'user']->bStandardUser = $bStandardUser = $clsUser->bStandardUser;
             $_SESSION[CS_NAMESPACE . 'user']->bVolMgr = $bVolMgr = $bStandardUser && $clsUser->bUserVolManager;
             $_SESSION[CS_NAMESPACE . 'user']->bDebugger = $clsUser->us_bDebugger;
             $_SESSION[CS_NAMESPACE . 'user']->strFirstName = $clsUser->us_strFirstName;
             $_SESSION[CS_NAMESPACE . 'user']->strLastName = $clsUser->us_strLastName;
             $_SESSION[CS_NAMESPACE . 'user']->strSafeName = $clsUser->strSafeName;
             $_SESSION[CS_NAMESPACE . 'user']->enumDateFormat = 'm/d/Y';
             // $clsUser->us_enumDateFormat;
             $_SESSION[CS_NAMESPACE . 'user']->enumMeasurePref = $clsUser->us_enumMeasurePref;
             $_SESSION[CS_NAMESPACE . 'user']->lRecsPerPage = 50;
             $_SESSION["check_loginhvol"] = 1;
             redirect('welcome');
         } else {
             $this->session->set_flashdata('error', 'Your login information was not correct.');
             redirect('login');
         }
     }
     $data['main'] = 'login';
     $this->load->view('login', $data);
 }
function setVolRegGlobals(&$cACO, &$cOrg)
{
    //---------------------------------------------------------------------
    // used by the volunteer registration form
    //---------------------------------------------------------------------
    global $gclsChapter, $glChapterID, $gbDateFormatUS, $gclsChapterACO, $gdteNow, $gbDev;
    setNameSpace(false);
    $cOrg->lChapterID = CL_DEFAULT_CHAPTERID;
    $cOrg->loadChapterInfo();
    $gdteNow = time();
    // php error testing
    if ($gbDev) {
        error_reporting(E_ALL | E_STRICT);
    } else {
        error_reporting(0);
    }
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter'] = new stdClass();
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->lChapterID = $cOrg->chapterRec->lKeyID;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->strChapterName = $cOrg->chapterRec->strChapterName;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->strDefAreaCode = $cOrg->chapterRec->strDefAreaCode;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->strDefState = $cOrg->chapterRec->strDefState;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->strDefCountry = $cOrg->chapterRec->strDefCountry;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->strBanner = $cOrg->chapterRec->strBannerTagLine;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->bUS_DateFormat = $gbDateFormatUS = $cOrg->chapterRec->bUS_DateFormat;
    //-------------------------------
    // set the default ACO info
    //-------------------------------
    $lACOID = $cACO->lLoadDefaultCountryID();
    if (is_null($lACOID)) {
        $lACOID = 1;
    }
    $cACO->loadCountries(false, false, true, $lACOID);
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_lKeyID = $lACOID;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strFlag = $cACO->countries[0]->strFlag;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strName = $cACO->countries[0]->strName;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strCurrencySymbol = $cACO->countries[0]->strCurrencySymbol;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_bInUse = $cACO->countries[0]->bInUse;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_bDefault = $cACO->countries[0]->bDefault;
    $_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strFlagImg = $cACO->countries[0]->strFlagImg;
    $gclsChapter = $_SESSION[CS_NAMESPACE_VOLREG . '_chapter'];
    $glChapterID = $gclsChapter->lChapterID;
    $gbDateFormatUS = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->bUS_DateFormat;
    $gclsChapterACO = new stdClass();
    $gclsChapterACO->lKeyID = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_lKeyID;
    $gclsChapterACO->strFlag = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strFlag;
    $gclsChapterACO->strName = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strName;
    $gclsChapterACO->strCurrencySymbol = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strCurrencySymbol;
    $gclsChapterACO->bInUse = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_bInUse;
    $gclsChapterACO->bDefault = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_bDefault;
    $gclsChapterACO->strFlagImg = @$_SESSION[CS_NAMESPACE_VOLREG . '_chapter']->ACO_strFlagImg;
}
示例#3
0
 function __construct()
 {
     parent::__construct();
     session_start();
     setNameSpace(true);
 }
示例#4
0
 public function index()
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     phpVersionTestDL();
     // catch php version error immediately
     if ($this->input->post('username')) {
         $u = $this->input->post('username');
         $pw = $this->input->post('password');
         $this->load->model('admin/muser_accts', 'clsUserAccts');
         $this->load->model('admin/muser_log', 'clsUserLog');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->model('staff/mtime_sheets', 'cts');
         $this->load->helper('dl_util/util_db');
         setNameSpace(false);
         // also loads database
         $this->clsUserLog->el_lUserID = $lUserID = $this->clsUserAccts->verifyUser($u, $pw, $bAdmin);
         $bSuccess = $lUserID > 0;
         $this->clsUserLog->lAddLogEntry($bSuccess, $u);
         if ($lUserID > 0) {
             if (!$this->clsUserAccts->bVerifyDBVersion($strExpected, $strActual)) {
                 if ($bAdmin) {
                     $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
                     $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
                     $_SESSION[CS_NAMESPACE . 'user']->bAdmin = true;
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of the Delightful Labor!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please upgrade your database before continuing.');
                     redirect('upgrade_db');
                 } else {
                     $this->session->set_flashdata('error', 'Your database is not the correct level for this version of the Delightful Labor!<br><br>
                                          expected db level: <b>' . $strExpected . '</b><br>
                                          actual db level: <b>' . $strActual . '</b><br><br>
                                          Please contact your system administrator.');
                     redirect('login');
                 }
             }
             $this->clsUserAccts->loadSingleUserRecord($lUserID);
             $clsUser = $this->clsUserAccts->userRec[0];
             $lChapterID = $clsUser->us_lChapterID;
             $this->setChapterSession($lChapterID, $lACOID);
             // initialize custom navigation
             $_SESSION[CS_NAMESPACE . 'nav'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'nav']->lCnt = 0;
             $_SESSION[CS_NAMESPACE . 'nav']->navFiles = array();
             $this->setBrowserInfo();
             $_SESSION[CS_NAMESPACE . 'user'] = new stdClass();
             $_SESSION[CS_NAMESPACE . 'user']->lUserID = $lUserID;
             $_SESSION[CS_NAMESPACE . 'user']->strUserName = $clsUser->us_strUserName;
             $_SESSION[CS_NAMESPACE . 'user']->bAdmin = $bAdmin = $clsUser->us_bAdmin;
             $_SESSION[CS_NAMESPACE . 'user']->bVolLogin = $bVolLogin = $clsUser->bVolAccount;
             $_SESSION[CS_NAMESPACE . 'user']->bStandardUser = $bStandardUser = $clsUser->bStandardUser;
             $_SESSION[CS_NAMESPACE . 'user']->bDebugger = $clsUser->us_bDebugger;
             $_SESSION[CS_NAMESPACE . 'user']->strFirstName = $clsUser->us_strFirstName;
             $_SESSION[CS_NAMESPACE . 'user']->strLastName = $clsUser->us_strLastName;
             $_SESSION[CS_NAMESPACE . 'user']->strSafeName = $clsUser->strSafeName;
             $_SESSION[CS_NAMESPACE . 'user']->enumDateFormat = $clsUser->us_enumDateFormat;
             $_SESSION[CS_NAMESPACE . 'user']->enumMeasurePref = $clsUser->us_enumMeasurePref;
             $_SESSION[CS_NAMESPACE . 'user']->lRecsPerPage = 50;
             if ($bVolLogin) {
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms = new stdClass();
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolEditContact = $clsUser->bVolEditContact;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolPassReset = $clsUser->bVolPassReset;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolViewGiftHistory = $clsUser->bVolViewGiftHistory;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolEditJobSkills = $clsUser->bVolEditJobSkills;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolViewHrsHistory = $clsUser->bVolViewHrsHistory;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolAddVolHours = $clsUser->bVolAddVolHours;
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms->bVolShiftSignup = $clsUser->bVolShiftSignup;
                 // if volunteer log-in and no associated people ID, add people and volunteer record
                 if (is_null($clsUser->lPeopleID)) {
                     //                  $this->load->helper('dl_util/email_web');
                     $this->load->model('admin/madmin_aco');
                     $this->load->model('personalization/muser_fields');
                     $this->load->model('personalization/muser_fields_create');
                     $this->load->model('people/mpeople');
                     $this->load->model('vols/mvol');
                     $clsUser->lPeopleID = $this->clsUserAccts->lPeopleVolRecViaAcct($lChapterID, $lACOID, $lUserID);
                 }
                 $_SESSION[CS_NAMESPACE . 'user']->lPeopleID = $clsUser->lPeopleID;
             } elseif ($bStandardUser) {
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms = new stdClass();
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserDataEntryPeople = $clsUser->bUserDataEntryPeople;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserDataEntryGifts = $clsUser->bUserDataEntryGifts;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserEditPeople = $clsUser->bUserEditPeople;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserEditGifts = $clsUser->bUserEditGifts;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserViewPeople = $clsUser->bUserViewPeople;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserViewGiftHistory = $clsUser->bUserViewGiftHistory;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserViewReports = $clsUser->bUserViewReports;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowExports = $clsUser->bUserAllowExports;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowSponsorship = $clsUser->bUserAllowSponsorship;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowSponFinancial = $clsUser->bUserAllowSponFinancial;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowClient = $clsUser->bUserAllowClient;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowAuctions = $clsUser->bUserAllowAuctions;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowGrants = $clsUser->bUserAllowGrants;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserAllowInventory = $clsUser->bUserAllowInventory;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bUserVolManager = $clsUser->bUserVolManager;
                 // time sheet admin?
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->bTimeSheetAdmin = $this->cts->bIsUserTSAdmin($lUserID);
                 // personalized table access
                 $this->load->model('personalization/muser_table_perms', 'tperms');
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms->ptables = $this->tperms->loadUserTableAccess($lUserID, $_SESSION[CS_NAMESPACE . 'user']->userPerms->lNumPTables);
             } else {
                 $_SESSION[CS_NAMESPACE . 'user']->volPerms = null;
                 $_SESSION[CS_NAMESPACE . 'user']->userPerms = null;
             }
             if (!$bVolLogin) {
                 $this->setCustomNavigation();
                 // determine if this user is in the "Management" staff group
                 $this->load->model('staff/mstaff_status', 'cstat');
                 $lMgrGroup = $this->cstat->lStaffManagementGroupID();
                 if (is_null($lMgrGroup)) {
                     $_SESSION[CS_NAMESPACE . 'user']->bUserMgrStaffGroup = false;
                 } else {
                     $_SESSION[CS_NAMESPACE . 'user']->bUserMgrStaffGroup = $this->cstat->bIsUserInManagement($lUserID, $lMgrGroup);
                 }
                 // load user groups
                 $this->load->model('groups/mgroups', 'groups');
                 $this->load->helper('groups/groups');
                 $this->groups->groupMembershipViaFID(CENUM_CONTEXT_USER, $lUserID);
                 $_SESSION[CS_NAMESPACE . 'user']->lNumUserGroups = $lCntUG = count($this->groups->arrMemberInGroups);
                 if ($lCntUG > 0) {
                     $_SESSION[CS_NAMESPACE . 'user']->strUGroups = array();
                     $_SESSION[CS_NAMESPACE . 'user']->lUGroupIDs = array();
                     foreach ($this->groups->arrMemberInGroups as $UGrp) {
                         $_SESSION[CS_NAMESPACE . 'user']->strUGroups[] = $UGrp->strGroupName;
                         $_SESSION[CS_NAMESPACE . 'user']->lUGroupIDs[] = $UGrp->lGroupID;
                     }
                 }
                 if (CB_AAYHF) {
                     // update folding stats
                     if ($lUserID == 1 || $lUserID == 22) {
                         $this->load->model('aayhf/aayhf_programs/dell_lab/mfolding', 'cfolding');
                         $this->cfolding->writeFoldingStats($lUserID);
                     }
                     //------------------------------------------------------------
                     // set up special access for SHIFT Ascension users
                     //------------------------------------------------------------
                     $bShiftAccess = false;
                     $_SESSION[CS_NAMESPACE . 'user']->shiftAscension = new stdClass();
                     $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->bShiftAdmin = $bShiftAdmin = $bAdmin || $lUserID == 8 || $lUserID == 4 || $lUserID == 6 || $lUserID == 49;
                     if ($bShiftAdmin) {
                         $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->bShiftAccess = $bShiftAccess = true;
                     } else {
                         $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->bShiftAccess = false;
                         foreach ($this->groups->arrMemberInGroups as $UGrp) {
                             if (strtoupper(substr($UGrp->strGroupName, 0, 15)) == 'SHIFT ASCENSION') {
                                 $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->bShiftAccess = $bShiftAccess = true;
                                 break;
                             }
                         }
                     }
                     // load the shift groups the user belongs to
                     // not needed for shift admins - they have access to all programs
                     if (!$bShiftAdmin && $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->bShiftAccess) {
                         $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->shiftGroups = array();
                         $shiftIdx = 0;
                         foreach ($this->groups->arrMemberInGroups as $UGrp) {
                             if (strtoupper(substr($UGrp->strGroupName, 0, 15)) == 'SHIFT ASCENSION') {
                                 $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->shiftGroups[$shiftIdx] = new stdClass();
                                 $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->shiftGroups[$shiftIdx]->lGroupID = $UGrp->lGroupID;
                                 $_SESSION[CS_NAMESPACE . 'user']->shiftAscension->shiftGroups[$shiftIdx]->strGroupName = $UGrp->strGroupName;
                                 ++$shiftIdx;
                             }
                         }
                     }
                 }
             }
             redirect('welcome');
         } else {
             $this->session->set_flashdata('error', 'Your login information was not correct.');
             redirect('login');
         }
     }
     $data['main'] = 'login';
     $this->load->view('login', $data);
 }