@@ -39,25 +39,31 @@ public function run()
3939 $ init_time = time ();
4040 $ summit = null ;
4141 $ speaker = null ;
42- $ role = IPresentationSpeaker::RoleSpeaker;
43- if (isset ($ _GET ['member_id ' ]))
42+
43+ if (isset ($ _GET ['email ' ]))
4444 {
45- $ speaker = PresentationSpeaker::get ()->filter ("MemberID " , $ _GET ['member_id ' ])->first ();
45+ $ email = $ _GET ['email ' ];
46+ $ speaker = PresentationSpeaker::get ()
47+ ->innerJoin ("Member " , "Member.ID = PresentationSpeaker.MemberID " )
48+ ->where ("Member.Email = ' {$ email }' " )
49+ ->first ();
50+ if (is_null ($ speaker )){
51+ $ speaker = PresentationSpeaker::get ()
52+ ->innerJoin ("SpeakerRegistrationRequest " , "SpeakerRegistrationRequest.ID = PresentationSpeaker.RegistrationRequestID " )
53+ ->where ("SpeakerRegistrationRequest.Email = ' {$ email }' " )
54+ ->first ();
55+ }
4656 }
4757
4858 if (isset ($ _GET ['summit_id ' ]))
4959 {
5060 $ summit = Summit::get ()->byID (intval ($ _GET ['summit_id ' ]));
5161 }
5262
53- if (isset ($ _GET ['role ' ]))
54- {
55- if ($ _GET ['role ' ] == 2 )
56- $ role = IPresentationSpeaker::RoleModerator;
57- }
58-
5963 if (is_null ($ summit )) throw new Exception ('summit_id is not valid! ' );
60- if (is_null ($ speaker )) throw new Exception ('member_id is not valid! ' );
64+ if (is_null ($ speaker )) throw new Exception ('speaker is not valid! ' );
65+
66+ $ role = $ speaker ->isModeratorFor ($ summit ) ? IPresentationSpeaker::RoleModerator : IPresentationSpeaker::RoleSpeaker;
6167
6268 echo sprintf ("sending individual mail for %s speaker as role %s " , $ speaker ->getEmail (), $ role ).PHP_EOL ;
6369
0 commit comments