info(L10n::t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL);
// Update global directory in background
if ($path && strlen(Config::get('system', 'directory'))) {
- Worker::add(PRIORITY_LOW, "Directory", $path);
+ Worker::add(PRIORITY_LOW, "Directory", $a->getBaseURL() . '/' . $path);
}
Worker::add(PRIORITY_LOW, 'ProfileUpdate', local_user());
$x = GContact::getRandomUrl();
if ($x) {
- $a->internalRedirect(Contact::magicLink($x));
+ $link = Contact::magicLink($x);
+ // @TODO making the return of magicLink save to use either externalRedirect or internalRedirect
+ if (filter_var($link, FILTER_VALIDATE_URL)) {
+ System::externalRedirect($link);
+ } else {
+ $a->internalRedirect($link);
+ }
}
$a->internalRedirect('profile');
/**
* @brief Returns a magic link to authenticate remote visitors
*
+ * @todo check if the return is either a fully qualified URL or a relative path to Friendica basedir
+ *
* @param string $contact_url The address of the target contact profile
* @param string $url An url that we will be redirected to after the authentication
*