Fix on speaker serializer
Added email obfuscation for non admin members Change-Id: I8ad832f1cff807cd636377abc8d7d6f7d3ab0158
This commit is contained in:
parent
d6dad95b48
commit
79353a59a4
@ -26,6 +26,14 @@ final class AdminPresentationSpeakerSerializer extends PresentationSpeakerSerial
|
|||||||
'Notes' => 'notes:json_string'
|
'Notes' => 'notes:json_string'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param PresentationSpeaker $speaker
|
||||||
|
* @return null|string|string[]
|
||||||
|
*/
|
||||||
|
protected function getSpeakerEmail(PresentationSpeaker $speaker){
|
||||||
|
return $speaker->getEmail();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param null $expand
|
* @param null $expand
|
||||||
* @param array $fields
|
* @param array $fields
|
||||||
@ -41,7 +49,6 @@ final class AdminPresentationSpeakerSerializer extends PresentationSpeakerSerial
|
|||||||
if(!$speaker instanceof PresentationSpeaker) return [];
|
if(!$speaker instanceof PresentationSpeaker) return [];
|
||||||
|
|
||||||
$values = parent::serialize($expand, $fields, $relations, $params);
|
$values = parent::serialize($expand, $fields, $relations, $params);
|
||||||
$values['email'] = $speaker->getEmail();
|
|
||||||
$summit = isset($params['summit'])? $params['summit']:null;
|
$summit = isset($params['summit'])? $params['summit']:null;
|
||||||
|
|
||||||
if(!is_null($summit)){
|
if(!is_null($summit)){
|
||||||
|
@ -33,6 +33,15 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer
|
|||||||
'member',
|
'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 null $expand
|
||||||
* @param array $fields
|
* @param array $fields
|
||||||
@ -48,7 +57,7 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer
|
|||||||
if(!$speaker instanceof PresentationSpeaker) return [];
|
if(!$speaker instanceof PresentationSpeaker) return [];
|
||||||
|
|
||||||
$values = parent::serialize($expand, $fields, $relations, $params);
|
$values = parent::serialize($expand, $fields, $relations, $params);
|
||||||
|
$values['email'] = $this->getSpeakerEmail($speaker);
|
||||||
$summit_id = isset($params['summit_id'])? intval($params['summit_id']):null;
|
$summit_id = isset($params['summit_id'])? intval($params['summit_id']):null;
|
||||||
$published = isset($params['published'])? intval($params['published']):true;
|
$published = isset($params['published'])? intval($params['published']):true;
|
||||||
if(!is_null($summit_id)) {
|
if(!is_null($summit_id)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user