- $homepageUrlVerified = false;
- $owner = User::getOwnerDataById($uid);
- if (!empty($owner['homepage'])) {
- $xrd_timeout = DI::config()->get('system', 'xrd_timeout');
- $curlResult = DI::httpClient()->get($owner['homepage'], $accept_content = HttpClientAccept::HTML, [HttpClientOptions::TIMEOUT => $xrd_timeout]);
- if ($curlResult->isSuccess()) {
- $content = $curlResult->getBody();
- if (!$content) {
- Logger::notice('Empty body of the fetched homepage link). Cannot verify the relation to profile of UID %s.', ['uid' => $uid, 'owner homepage' => $owner['homepage']]);
- } else {
- $doc = new DOMDocument();
- @$doc->loadHTML($content);
- if (!$doc) {
- Logger::notice('Could not parse the content');
- } else {
- foreach ($doc->getElementsByTagName('a') as $link) {
- $rel = $link->getAttribute('rel');
- if ($rel == 'me') {
- $href = $link->getAttribute('href');
- if (!$homepageUrlVerified && Network::isValidHttpUrl($href)) {
- $homepageUrlVerified = Strings::compareLink($owner['url'], $href);
- }
- }
- }
- }
- if ($homepageUrlVerified) {
- Profile::update(['homepage_verified' => true], $uid);
- Logger::notice('Homepage URL verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]);
- } else {
- Logger::notice('Homepage URL could not be verified', ['uid' => $uid, 'owner homepage' => $owner['homepage']]);
- }
- }
- } else {
- Logger::notice('Could not cURL the homepage URL', ['owner homepage' => $owner['homepage']]);
- }
- } else {