diff --git a/app/models/favicon.php b/app/models/favicon.php index 1d3fabb..0259f20 100644 --- a/app/models/favicon.php +++ b/app/models/favicon.php @@ -31,6 +31,15 @@ function store_favicon($mime_type, $blob) } $hash = sha1($blob); + $favicon_id = Database::getInstance('db') + ->table(TABLE) + ->eq('hash', $hash) + ->findOneColumn('id'); + + if ($favicon_id) { + return $favicon_id; + } + if (file_put_contents(get_favicon_filename($hash, $mime_type), $blob) === false) { return false; } diff --git a/tests/unit/FaviconModelTest.php b/tests/unit/FaviconModelTest.php index a468cf4..6f85e54 100644 --- a/tests/unit/FaviconModelTest.php +++ b/tests/unit/FaviconModelTest.php @@ -90,7 +90,7 @@ class FaviconModelTest extends BaseTest $this->assertCreateFeed($this->buildFeed()); self::$functions - ->expects($this->any()) + ->expects($this->once()) ->method('file_put_contents') ->with( $this->stringEndsWith('data/favicons/57978a20204f7af6967571041c79d907a8a8072c.png'),