function loadNameViaContextFID($clsID, $enumContextType, $lFID) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- switch ($enumContextType) { case CENUM_CONTEXT_AUCTION: $cAuction = new mauctions(); $cAuction->loadAuctionByAucID($lFID); $clsID->strName = $cAuction->auctions[0]->strAuctionName; break; case CENUM_CONTEXT_AUCTIONITEM: $cItem = new mitems(); $cItem->loadItemViaItemID($lFID); $clsID->strName = $cItem->items[0]->strItemName; break; case CENUM_CONTEXT_AUCTIONPACKAGE: $cPackage = new mpackages(); $cPackage->loadPackageByPacID($lFID); $clsID->strName = $cPackage->packages[0]->strPackageName; break; case CENUM_CONTEXT_BIZ: $clsBiz = new mbiz(); $clsBiz->loadBizRecsViaBID($lFID); $clsID->strName = $clsBiz->bizRecs[0]->strSafeName; break; case CENUM_CONTEXT_CLIENT: $clsClient = new mclients(); $clsClient->loadClientsViaClientID($lFID); $clsID->strName = $clsClient->clients[0]->strFName . ' ' . $clsClient->clients[0]->strLName; break; case CENUM_CONTEXT_GRANTPROVIDER: $cgrant = new mgrants(); $cgrant->loadGrantProviderViaGPID($lFID, $lNumProviders, $providers); $clsID->strName = $providers[0]->strGrantOrg; break; case CENUM_CONTEXT_INVITEM: $cinv = new minventory(); $cinv->loadSingleInventoryItem($lFID, $lNumItems, $items); $clsID->strName = $items[0]->strItemName; break; case CENUM_CONTEXT_LOCATION: $clsLoc = new mclient_locations(); $clsLoc->loadLocationRec($lFID); $clsID->strName = $clsLoc->strLocation; break; case CENUM_CONTEXT_ORGANIZATION: $clsOrg = new morganization(); $clsOrg->lChapterID = $lFID; $clsOrg->loadChapterInfo(); $clsID->strName = $clsOrg->chapterRec->strSafeChapterName; break; case CENUM_CONTEXT_PEOPLE: $clsPeople = new mpeople(); $clsPeople->loadPeopleViaPIDs($lFID, false, false); $clsID->strName = $clsPeople->people[0]->strFName . ' ' . $clsPeople->people[0]->strLName; break; case CENUM_CONTEXT_SPONSORSHIP: $clsSpon = new msponsorship(); $clsSpon->sponsorInfoViaID($lFID); $clsID->strName = $clsSpon->sponInfo[0]->strSponSafeNameFL; break; case CENUM_CONTEXT_STAFF: $cStaff = new muser_accts(); $clsID->strName = $cStaff->strSafeUserNameViaID($lFID); break; case CENUM_CONTEXT_VOLUNTEER: $clsVol = new mvol(); $clsVol->loadVolRecsViaVolID($lFID, true); $clsID->strName = $clsVol->volRecs[0]->strSafeName; break; case CENUM_CONTEXT_HOUSEHOLD: default: screamForHelp($enumContextType . ': not implemented yet<br>error on line ' . __LINE__ . ',<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__); break; } }
function strVolHoursDetailReport(&$sRpt, $lStartRec, $lRecsPerPage) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- global $genumDateFormat; $this->hrsSumOpts($sRpt, $bUseYear, $lYear, $bUseMon, $lMon, $bUseVolID, $lVolID); $strLimit = " LIMIT {$lStartRec}, {$lRecsPerPage} "; $strTab = 'tmp_vol_hrs'; $this->buildPopHrsTmp($strTab, $lYear, $lMon, $lVolID); $strWhere = '1'; $strTitle = 'Volunteer Details for '; $strFail = 'There are no volunteer hours for '; if ($bUseVolID) { $cVol = new mvol(); $cVol->loadVolRecsViaVolID($lVolID, true); $vRec =& $cVol->volRecs[0]; $strSafeName = $vRec->strSafeName; $strTitle .= $strSafeName . ' '; $strFail .= $strSafeName . ' '; } if ($bUseMon) { $strMonth = strXlateMonth($lMon); $strTitle .= $strMonth . ' ' . $lYear; $strFail .= $strMonth . ' ' . $lYear; } else { $strTitle .= $lYear; $strFail .= $lYear; } $sqlStr = "SELECT\n vsa_lKeyID, tmphr_dteVolActivity,\n tmphr_lVolID, vsa_dHoursWorked, vsa_lEventDateShiftID,\n lgen_strListItem,\n vs_strShiftName, vs_lEventDateID, vem_lKeyID, vem_strEventName,\n pe_strFName, pe_strLName\n\n FROM {$strTab}\n INNER JOIN vol_events_dates_shifts_assign ON vsa_lKeyID = tmphr_lEventAssignID\n INNER JOIN volunteers ON tmphr_lVolID = vol_lKeyID\n INNER JOIN people_names ON vol_lPeopleID = pe_lKeyID\n LEFT JOIN vol_events_dates_shifts ON vsa_lEventDateShiftID = vs_lKeyID\n LEFT JOIN vol_events_dates ON vs_lEventDateID = ved_lKeyID\n LEFT JOIN vol_events ON ved_lVolEventID = vem_lKeyID\n LEFT JOIN lists_generic ON vsa_lActivityID=lgen_lKeyID\n\n ORDER BY tmphr_dteVolActivity, vsa_lKeyID\n {$strLimit};"; $query = $this->db->query($sqlStr); $lNumRows = $query->num_rows(); if ($lNumRows == 0) { return '<br><i>' . $strFail . '.</i><br>'; } $strOut = ' <table class="enpRptC"> <tr> <td colspan="7" class="enpRptTitle">' . $strTitle . ' </td> </tr>'; $strOut .= ' <tr> <td class="enpRptLabel"> Date </td> <td class="enpRptLabel"> Vol ID </td> <td class="enpRptLabel"> Volunteer </td> <td class="enpRptLabel"> Event </td> <td class="enpRptLabel"> Shift/Activity </td> <td class="enpRptLabel"> Hours </td> </tr>'; foreach ($query->result() as $row) { $lVolID = $row->tmphr_lVolID; if (is_null($row->vsa_lEventDateShiftID)) { $strEvent = '<i>(unscheduled)</i>'; $strActivity = strLinkEdit_VolUnschedHrs($lVolID, $row->vsa_lKeyID, 'Edit activity', true, '', 12) . ' ' . htmlspecialchars($row->lgen_strListItem); } else { $strEvent = strLinkView_VolEvent($row->vem_lKeyID, 'View event', true) . ' ' . htmlspecialchars($row->vem_strEventName); $strActivity = strLinkView_VolEventDate($row->vs_lEventDateID, 'View event date/shifts', true) . ' ' . htmlspecialchars($row->vs_strShiftName); } $strOut .= ' <tr class="makeStripe"> <td class="enpRpt">' . date($genumDateFormat, dteMySQLDate2Unix($row->tmphr_dteVolActivity)) . ' </td> <td class="enpRpt">' . str_pad($lVolID, 5, '0', STR_PAD_LEFT) . ' ' . strLinkView_Volunteer($lVolID, 'View volunteer record', true) . ' </td> <td class="enpRpt">' . htmlspecialchars($row->pe_strLName . ', ' . $row->pe_strFName) . ' </td> <td class="enpRpt">' . $strEvent . ' </td> <td class="enpRpt">' . $strActivity . ' </td> <td class="enpRpt" style="text-align: right; padding-right: 3px;">' . number_format($row->vsa_dHoursWorked, 2) . ' </td> </tr>'; } $strOut .= '</table><br>'; return $strOut; }
function strVolScheduleReport(&$sRpt, $reportID, $bReport, $lStartRec, $lRecsPerPage) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- global $gdteNow; $lVolID = $sRpt->lVolID; $strShowType = $sRpt->strShowType; $clsVols = new mvol(); $clsVols->loadVolRecsViaVolID($lVolID, true); if ($strShowType == 'cur') { $strLabel = 'Current and future'; $strWhere = ' AND ved_dteEvent >= ' . strPrepDate($gdteNow) . ' '; } elseif ($strShowType == 'past') { $strLabel = 'Past'; $strWhere = ' AND ved_dteEvent < ' . strPrepDate($gdteNow) . ' '; } else { $strLabel = 'Entire'; $strWhere = ' '; } if ($bReport) { $strOut = $strLabel . ' schedule for the volunteer ' . $clsVols->volRecs[0]->strSafeNameFL . '<br><br>'; $strLimit = " LIMIT {$lStartRec}, {$lRecsPerPage} "; } else { $strExport = ''; $strLimit = ''; } $sqlStr = "SELECT\n vsa_lKeyID,\n vsa_lEventDateShiftID, vsa_strNotes, vsa_dHoursWorked,\n vs_strShiftName,\n TIME_FORMAT(vs_dteShiftStartTime, '%l:%i %p') AS dteStartTime,\n vs_enumDuration AS strDuration,\n ved_lVolEventID, ved_dteEvent,\n vem_strEventName, vs_lEventDateID\n FROM vol_events\n INNER JOIN vol_events_dates ON vem_lKeyID = ved_lVolEventID\n INNER JOIN vol_events_dates_shifts ON ved_lKeyID = vs_lEventDateID\n INNER JOIN vol_events_dates_shifts_assign ON vs_lKeyID = vsa_lEventDateShiftID\n WHERE\n NOT vem_bRetired\n AND NOT vs_bRetired\n AND NOT vsa_bRetired\n AND vsa_lVolID={$lVolID}\n {$strWhere}\n ORDER BY ved_dteEvent, vs_dteShiftStartTime, vem_strEventName, vem_lKeyID\n {$strLimit};"; $query = $this->db->query($sqlStr); $lNumRows = $query->num_rows(); if ($lNumRows == 0) { return $strOut . '<br><br><i>There are no records that match your search criteria.</i>'; } if ($bReport) { $strOut .= $this->strVolScheduleRptHTML($query, $strLabel, $clsVols->volRecs[0]->strSafeNameFL, $clsVols->volRecs[0]->lKeyID); return $strOut; } else { $strExport = $this->strVolScheduleRptExport($query, $strLabel, $clsVols->volRecs[0]->strSafeNameFL, $clsVols->volRecs[0]->lKeyID); return $strExport; } }
function lPeopleVolRecViaAcct($lChapterID, $lACOID, $lUserID) { //--------------------------------------------------------------------- // create a people/volunteer rec based on the the info in // $this->userRec[0]; Update the peopleID in the db record; // return the new people ID. //--------------------------------------------------------------------- global $glUserID, $glChapterID; $holdUserID = $glUserID; $holdChapterID = $glChapterID; $glUserID = $lACOID; $glChapterID = $lChapterID; $ur =& $this->userRec[0]; $cp = new mpeople(); $cv = new mvol(); $cp->loadPeopleViaPIDs(-1, false, false); $pr =& $cp->people[0]; $pr->lHouseholdID = 0; $pr->lAttributedTo = null; $pr->strTitle = $ur->us_strTitle; $pr->strFName = $ur->us_strFirstName; $pr->strMName = ''; $pr->strLName = $ur->us_strLastName; $pr->strPreferredName = $ur->us_strFirstName; $pr->strSalutation = $ur->us_strFirstName; $pr->strAddr1 = $ur->us_strAddr1; $pr->strAddr2 = $ur->us_strAddr2; $pr->strCity = $ur->us_strCity; $pr->strState = $ur->us_strState; $pr->strCountry = $ur->us_strCountry; $pr->strZip = $ur->us_strZip; $pr->strPhone = $ur->us_strPhone; $pr->strCell = $ur->us_strCell; $pr->strNotes = ''; $pr->strEmail = $ur->us_strEmail; $pr->enumGender = 'Unknown'; $pr->dteExpire = null; $pr->lACO = $lACOID; $pr->dteMysqlBirthDate = null; $pr->dteMysqlDeath = null; $lPID = $cp->lCreateNewPeopleRec(); $cv->loadVolRecsViaVolID(-1, true); $vr =& $cv->volRecs[0]; $vr->lRegFormID = null; $vr->lPeopleID = $lPID; $vr->Notes = ''; $cv->lAddNewVolunteer(); $glUserID = $holdUserID; $glChapterID = $holdChapterID; return $lPID; }