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); } } } }