Example #1
0
 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 . '&nbsp; &nbsp;';
         $strFail .= $strSafeName . '&nbsp; &nbsp;';
     }
     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) . '&nbsp;' . htmlspecialchars($row->lgen_strListItem);
         } else {
             $strEvent = strLinkView_VolEvent($row->vem_lKeyID, 'View event', true) . '&nbsp;' . htmlspecialchars($row->vem_strEventName);
             $strActivity = strLinkView_VolEventDate($row->vs_lEventDateID, 'View event date/shifts', true) . '&nbsp;' . 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) . '&nbsp;' . 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;
 }