Ver Fonte

in light of the perf/size test results of Jdenticons, switch back to Identicons as the default

El RIDO há 3 anos atrás
pai
commit
89d575ace3
5 ficheiros alterados com 10 adições e 17 exclusões
  1. 1 1
      CHANGELOG.md
  2. 1 1
      cfg/conf.sample.php
  3. 1 1
      lib/Configuration.php
  4. 4 4
      lib/Model/Comment.php
  5. 3 10
      tst/ModelTest.php

+ 1 - 1
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)

+ 1 - 1
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

+ 1 - 1
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,

+ 4 - 4
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(

+ 3 - 10
tst/ModelTest.php

@@ -1,6 +1,6 @@
 <?php
 
-use Jdenticon\Identicon;
+use Identicon\Identicon;
 use PrivateBin\Configuration;
 use PrivateBin\Data\Database;
 use PrivateBin\Model;
@@ -314,15 +314,8 @@ class ModelTest extends PHPUnit_Framework_TestCase
         $comment->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');
     }