function loadPPCatsAndTests(&$lNumCats, &$ppCats, $bUserAccessible) { //--------------------------------------------------------------------- // if $bUserAccessible, the test must be published and not hidden //--------------------------------------------------------------------- // load the pre/post test categories $clist = new mlist_generic(); $clist->enumListType = CENUM_LISTTYPE_CPREPOSTCAT; $clist->genericLoadList(); $lNumInList = $clist->lNumInList; // we love scalars // add the "no category" to the bottom $lNumCats = $lNumInList + 1; $clist->listItems[$lNumInList] = new stdClass(); $liLast =& $clist->listItems[$lNumInList]; $liLast->lKeyID = null; $liLast->strListItem = '(no category)'; $liLast->lSortIDX = 9999; $liLast->enumListType = CENUM_LISTTYPE_CPREPOSTCAT; $liLast->bRetired = false; // load the Pre/Post tests by category if ($clist->lNumInList > 0) { foreach ($clist->listItems as $li) { $this->loadPPTestsViaCat($li->lKeyID, $li->lNumPPTests, $li->pptests, $bUserAccessible); } } $this->loadPPTestsViaCat(null, $liLast->lNumPPTests, $liLast->pptests, $bUserAccessible); $ppCats = arrayCopy($clist->listItems); }
function prepJobCodeArray(&$jCodes, $sRpt, $bAllJobCodes, &$lNumJobCodes) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- global $glChapterID; $masterCodes = array(); $jcList = new mlist_generic(); $jcList->enumListType = CENUM_LISTTYPE_VOLJOBCODES; if ($bAllJobCodes) { $jcList->genericLoadList($glChapterID); $lNumJobCodes = count($jcList->listItems); if ($lNumJobCodes == 0) { return; } foreach ($jcList->listItems as $listItem) { $masterCodes[$listItem->lKeyID] = new stdClass(); $mc =& $masterCodes[$listItem->lKeyID]; $mc->strJobCode = $listItem->strListItem; $mc->sngNumShiftHours = 0.0; $mc->sngNumUnHours = 0.0; } $masterCodes[-1] = new stdClass(); $mc =& $masterCodes[-1]; $mc->strJobCode = '(no job code assigned)'; $mc->sngNumShiftHours = 0.0; $mc->sngNumUnHours = 0.0; } else { $lNumJobCodes = 1; $masterCodes[$sRpt->lJobCodeID] = new stdClass(); $mc =& $masterCodes[$sRpt->lJobCodeID]; $mc->strJobCode = $jcList->genericLoadListItem($sRpt->lJobCodeID); $mc->sngNumShiftHours = 0.0; $mc->sngNumUnHours = 0.0; } for ($idx = 1; $idx <= 13; ++$idx) { // month 13 is used for annual total $jCodes[$idx] = new stdClass(); $jc =& $jCodes[$idx]; $jc->lMonth = $idx; if ($idx <= 12) { $jc->strMonth = strXlateMonth($idx); } $jc->hours = arrayCopy($masterCodes); } }