diff --git a/app/ModelSerializers/Summit/Speakers/AdminPresentationSpeakerSerializer.php b/app/ModelSerializers/Summit/Speakers/AdminPresentationSpeakerSerializer.php index 2f52e17f..c727cdff 100644 --- a/app/ModelSerializers/Summit/Speakers/AdminPresentationSpeakerSerializer.php +++ b/app/ModelSerializers/Summit/Speakers/AdminPresentationSpeakerSerializer.php @@ -26,6 +26,14 @@ final class AdminPresentationSpeakerSerializer extends PresentationSpeakerSerial 'Notes' => 'notes:json_string' ]; + /** + * @param PresentationSpeaker $speaker + * @return null|string|string[] + */ + protected function getSpeakerEmail(PresentationSpeaker $speaker){ + return $speaker->getEmail(); + } + /** * @param null $expand * @param array $fields @@ -41,7 +49,6 @@ final class AdminPresentationSpeakerSerializer extends PresentationSpeakerSerial if(!$speaker instanceof PresentationSpeaker) return []; $values = parent::serialize($expand, $fields, $relations, $params); - $values['email'] = $speaker->getEmail(); $summit = isset($params['summit'])? $params['summit']:null; if(!is_null($summit)){ diff --git a/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php b/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php index fdd03d47..75cc34bf 100644 --- a/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php +++ b/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php @@ -33,6 +33,15 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer 'member', ]; + /** + * @param PresentationSpeaker $speaker + * @return null|string|string[] + */ + protected function getSpeakerEmail(PresentationSpeaker $speaker){ + $speaker_email = $speaker->getEmail(); + return preg_replace('/(?<=.).(?=.*.)/u','*', $speaker_email); + } + /** * @param null $expand * @param array $fields @@ -48,7 +57,7 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer if(!$speaker instanceof PresentationSpeaker) return []; $values = parent::serialize($expand, $fields, $relations, $params); - + $values['email'] = $this->getSpeakerEmail($speaker); $summit_id = isset($params['summit_id'])? intval($params['summit_id']):null; $published = isset($params['published'])? intval($params['published']):true; if(!is_null($summit_id)) {