77use Statamic \Auth \Passwords \PasswordReset ;
88use Statamic \Auth \SendsPasswordResetEmails ;
99use Statamic \Exceptions \ValidationException ;
10- use Statamic \Facades \Site ;
1110use Statamic \Facades \URL ;
1211use Statamic \Http \Middleware \RedirectIfAuthenticated ;
1312
@@ -32,26 +31,11 @@ public function showLinkRequestForm()
3231 public function sendResetLinkEmail (Request $ request )
3332 {
3433 if ($ url = $ request ->_reset_url ) {
35- $ url = URL ::makeAbsolute ($ url );
36-
37- $ urlDomain = parse_url ($ url , PHP_URL_HOST );
38- $ currentRequestDomain = parse_url (url ()->to ('/ ' ), PHP_URL_HOST );
39-
40- $ isExternal = $ urlDomain
41- ? Site::all ()
42- ->map (fn ($ site ) => parse_url ($ site ->absoluteUrl (), PHP_URL_HOST ))
43- ->push ($ currentRequestDomain )
44- ->filter (fn ($ siteDomain ) => ! is_null ($ siteDomain ))
45- ->unique ()
46- ->filter (fn ($ siteDomain ) => $ siteDomain === $ urlDomain )
47- ->isEmpty ()
48- : false ;
49-
50- throw_if ($ isExternal , ValidationException::withMessages ([
34+ throw_if (URL ::isExternalToApplication ($ url ), ValidationException::withMessages ([
5135 '_reset_url ' => trans ('validation.url ' , ['attribute ' => '_reset_url ' ]),
5236 ]));
5337
54- PasswordReset::resetFormUrl ($ url );
38+ PasswordReset::resetFormUrl (URL :: makeAbsolute ( $ url) );
5539 }
5640
5741 return $ this ->traitSendResetLinkEmail ($ request );
0 commit comments