示例#1
0
function calculateValues(Group $objGroup)
{
    global $startDate;
    global $endDate;
    //global $tempDate;
    global $objPersonArray;
    global $monthCount;
    $objGroupParticipationArray = $objGroup->GetGroupParticipationArray();
    foreach ($objGroupParticipationArray as $objParticipation) {
        // If role is Volunteer or Volunteer Leader
        if ($objParticipation->GroupRole->GroupRoleTypeId == 1 || $objParticipation->GroupRole->GroupRoleTypeId == 3) {
            // If a volunteer, then instantiate arrays
            $tempDate = new QDateTime($startDate);
            while ($tempDate->IsEarlierOrEqualTo($endDate)) {
                if ($objParticipation->DateStart < $tempDate && ($objParticipation->DateEnd > $tempDate || $objParticipation->DateEnd == null)) {
                    // Verify unique person each time
                    if (!in_array($objParticipation->PersonId, $objPersonArray[$tempDate->__toString('MMM YYYY')])) {
                        $objPersonArray[$tempDate->__toString('MMM YYYY')][] = $objParticipation->PersonId;
                        $monthCount[$tempDate->__toString('MMM YYYY')]++;
                    }
                }
                $tempDate->AddMonths(1);
            }
        }
    }
}