From 89d575ace36406a78d47f3bb28fb4b8a70997604 Mon Sep 17 00:00:00 2001 From: El RIDO Date: Sun, 30 Oct 2022 09:05:29 +0100 Subject: [PATCH] in light of the perf/size test results of Jdenticons, switch back to Identicons as the default --- CHANGELOG.md | 2 +- cfg/conf.sample.php | 2 +- lib/Configuration.php | 2 +- lib/Model/Comment.php | 8 ++++---- tst/ModelTest.php | 13 +++---------- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6a607..3fff7db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ * **1.4.1 (not yet released)** * ADDED: Translations for Turkish, Slovak and Greek * ADDED: S3 Storage backend (#994) - * CHANGED: Switched to Jdenticons as the default for comment icons (#793) + * ADDED: Jdenticons as an option for comment icons (#793) * CHANGED: Avoid `SUPER` privilege for setting the `sql_mode` for MariaDB/MySQL (#919) * CHANGED: Upgrading libraries to: zlib 1.2.13 * FIXED: Revert to CREATE INDEX without IF NOT EXISTS clauses, to support MySQL (#943) diff --git a/cfg/conf.sample.php b/cfg/conf.sample.php index c972f15..e6a39d1 100644 --- a/cfg/conf.sample.php +++ b/cfg/conf.sample.php @@ -69,7 +69,7 @@ languageselection = false ; used to get the IP of a comment poster if the server salt is leaked and a ; SHA512 HMAC rainbow table is generated for all (relevant) IPs. ; Can be set to one these values: -; "none" / "vizhash" / "identicon" / "jdenticon" (default). +; "none" / "identicon" (default) / "jdenticon" / "vizhash". ; icon = "none" ; Content Security Policy headers allow a website to restrict what sources are diff --git a/lib/Configuration.php b/lib/Configuration.php index f4e537e..6f3a822 100644 --- a/lib/Configuration.php +++ b/lib/Configuration.php @@ -53,7 +53,7 @@ class Configuration 'languagedefault' => '', 'urlshortener' => '', 'qrcode' => true, - 'icon' => 'jdenticon', + 'icon' => 'identicon', 'cspheader' => 'default-src \'none\'; base-uri \'self\'; form-action \'none\'; manifest-src \'self\'; connect-src * blob:; script-src \'self\' \'unsafe-eval\'; style-src \'self\'; font-src \'self\'; frame-ancestors \'none\'; img-src \'self\' data: blob:; media-src blob:; object-src blob:; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads', 'zerobincompatibility' => false, 'httpwarning' => true, diff --git a/lib/Model/Comment.php b/lib/Model/Comment.php index 8e4142e..ffb27fc 100644 --- a/lib/Model/Comment.php +++ b/lib/Model/Comment.php @@ -165,7 +165,10 @@ class Comment extends AbstractModel if ($icon != 'none') { $pngdata = ''; $hmac = TrafficLimiter::getHash(); - if ($icon == 'jdenticon') { + if ($icon == 'identicon') { + $identicon = new Identicon(); + $pngdata = $identicon->getImageDataUri($hmac, 16); + } elseif ($icon == 'jdenticon') { $jdenticon = new Jdenticon(array( 'hash' => $hmac, 'size' => 16, @@ -175,9 +178,6 @@ class Comment extends AbstractModel ), )); $pngdata = $jdenticon->getImageDataUri('png'); - } elseif ($icon == 'identicon') { - $identicon = new Identicon(); - $pngdata = $identicon->getImageDataUri($hmac, 16); } elseif ($icon == 'vizhash') { $vh = new Vizhash16x16(); $pngdata = 'data:image/png;base64,' . base64_encode( diff --git a/tst/ModelTest.php b/tst/ModelTest.php index 49a2ae6..a88e029 100644 --- a/tst/ModelTest.php +++ b/tst/ModelTest.php @@ -1,6 +1,6 @@ get(); $comment->store(); - $identicon = new Identicon(array( - 'hash' => TrafficLimiter::getHash(), - 'size' => 16, - 'style' => array( - 'backgroundColor' => '#fff0', // fully transparent, for dark mode - 'padding' => 0, - ), - )); - $pngdata = $identicon->getImageDataUri('png'); + $identicon = new Identicon(); + $pngdata = $identicon->getImageDataUri(TrafficLimiter::getHash(), 16); $comment = current($this->_model->getPaste(Helper::getPasteId())->get()['comments']); $this->assertEquals($pngdata, $comment['meta']['icon'], 'icon gets set'); }