add patch by gmargo to improve favicon detection by content
This commit is contained in:
parent
c20b5168b5
commit
0bf3e81daf
|
@ -374,7 +374,33 @@
|
||||||
$favicon_url = get_favicon_url($site_url);
|
$favicon_url = get_favicon_url($site_url);
|
||||||
|
|
||||||
if ($favicon_url) {
|
if ($favicon_url) {
|
||||||
$contents = fetch_file_contents($favicon_url, "image");
|
// Limiting to "image" type misses those served with text/plain
|
||||||
|
$contents = fetch_file_contents($favicon_url); // , "image");
|
||||||
|
|
||||||
|
if ($contents) {
|
||||||
|
// Crude image type matching.
|
||||||
|
// Patterns gleaned from the file(1) source code.
|
||||||
|
if (preg_match('/^\x00\x00\x01\x00/', $contents)) {
|
||||||
|
// 0 string \000\000\001\000 MS Windows icon resource
|
||||||
|
//error_log("check_feed_favicon: favicon_url=$favicon_url isa MS Windows icon resource");
|
||||||
|
}
|
||||||
|
elseif (preg_match('/^GIF8/', $contents)) {
|
||||||
|
// 0 string GIF8 GIF image data
|
||||||
|
//error_log("check_feed_favicon: favicon_url=$favicon_url isa GIF image");
|
||||||
|
}
|
||||||
|
elseif (preg_match('/^\x89PNG\x0d\x0a\x1a\x0a/', $contents)) {
|
||||||
|
// 0 string \x89PNG\x0d\x0a\x1a\x0a PNG image data
|
||||||
|
//error_log("check_feed_favicon: favicon_url=$favicon_url isa PNG image");
|
||||||
|
}
|
||||||
|
elseif (preg_match('/^\xff\xd8/', $contents)) {
|
||||||
|
// 0 beshort 0xffd8 JPEG image data
|
||||||
|
//error_log("check_feed_favicon: favicon_url=$favicon_url isa JPG image");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//error_log("check_feed_favicon: favicon_url=$favicon_url isa UNKNOWN type");
|
||||||
|
$contents = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($contents) {
|
if ($contents) {
|
||||||
$fp = @fopen($icon_file, "w");
|
$fp = @fopen($icon_file, "w");
|
||||||
|
|
Loading…
Reference in New Issue