public static function getEmailAddressesOfPersonsRelatedToMission(Mission $mission) { $receivers = array(); // Get Passenger email address $passenger = PassengerPeer::retrieveByPK($mission->getPassengerId()); if ($passenger) { $passenger = $passenger->getPerson()->getEmail(); if (!empty($passenger)) { // $receivers['passenger_'.$mission->getId()] = $passenger; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $passenger)) { $receivers[] = $passenger; } } } unset($passenger); // Get Requester email address $requestr = RequesterPeer::retrieveByPK($mission->getRequesterId()); if ($requestr) { $requestr = $requestr->getPerson()->getEmail(); if (!empty($requestr)) { // $receivers['requestr_'.$mission->getId()] = $requestr; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $requestr)) { $receivers[] = $requestr; } } } unset($requestr); // Get Coordinator email address $coordinator = CoordinatorPeer::retrieveByPK($mission->getCoordinatorId()); if ($coordinator && ($coordinator = $coordinator->getMember())) { $coordinator = $coordinator->getPerson()->getEmail(); if (!empty($coordinator)) { // $receivers['coordinator_'.$mission->getId()] = $coordinator; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $coordinator)) { $receivers[] = $coordinator; } } } unset($coordinator); // Get Other Requester email address $other_requestr = RequesterPeer::retrieveByPK($mission->getOtherRequesterId()); if ($other_requestr) { $other_requestr = $other_requestr->getPerson()->getEmail(); if (!empty($other_requestr)) { // $receivers['other_requestr_'.$mission->getId()] = $other_requestr; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $other_requestr)) { $receivers[] = $other_requestr; } } } unset($other_requestr); // Get Other Agency email address $other_agency = AgencyPeer::retrieveByPK($mission->getOtherAgencyId()); if ($other_agency) { $other_agency = $other_agency->getEmail(); if (!empty($other_requestr)) { // $receivers['other_agency_'.$mission->getId()] = $other_agency; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $other_agency)) { $receivers[] = $other_agency; } } } unset($other_agency); // Get Agency email address $agency = AgencyPeer::retrieveByPK($mission->getAgencyId()); if ($agency) { $agency = $agency->getEmail(); if (!empty($agency)) { // $receivers['agency_'.$mission->getId()] = $agency; if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $agency)) { $receivers[] = $agency; } } } unset($agency); return $receivers; }