/** * Import favicon for a feeds domain * Refetch each favicon after 1 week * * @param RDR_Feed $feed */ static function importFavicon(RDR_Feed $feed) { $url = parse_url($feed->url); if ($url) { $sluggedHost = $feed->getSluggedHostFromUrl(); $fileTypes = array("ico", "gif", "jpg", "png"); foreach ($fileTypes as $type) { $filename = CHOQ_ACTIVE_MODULE_DIRECTORY . "/public/img/favicons/{$sluggedHost}.{$type}"; if (file_exists($filename)) { if (filemtime($filename) < dt("-1 week")->getUnixtime()) { unlink($filename); } else { return; } } $favUrl = $url["scheme"] . "://" . $url["host"] . "/favicon.{$type}"; $favData = RDR_FileContents::get($favUrl); if ($favData) { file_put_contents($filename, $favData); return; } if ($type == "png") { $favUrl = $url["scheme"] . "://" . $url["host"] . "/apple-touch-icon.{$type}"; $favData = RDR_FileContents::get($favUrl); if ($favData) { file_put_contents($filename, $favData); return; } } } } }