]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Merge pull request #145 from Alkarex/patch-1
authorSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Fri, 29 Nov 2013 21:01:08 +0000 (13:01 -0800)
committerSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Fri, 29 Nov 2013 21:01:08 +0000 (13:01 -0800)
smallHash: simplified and improved performance

1  2 
index.php

diff --combined index.php
index 884b2afd9529a55ee98fba6044c32d6f7314b9b2,24fbe43611f4fc266d1799d0fa23b8255f342425..acc3fe495f12e7cad8dda82619cea9446f5bb1d9
+++ b/index.php
@@@ -221,7 -221,7 +221,7 @@@ function nl2br_escaped($html
      return str_replace('>','&gt;',str_replace('<','&lt;',nl2br($html)));
  }
  
- /* Returns the small hash of a string
+ /* Returns the small hash of a string, using RFC 4648 base64url format
     eg. smallHash('20111006_131924') --> yZH23w
     Small hashes:
       - are unique (well, as unique as crc32, at last)
  function smallHash($text)
  {
      $t = rtrim(base64_encode(hash('crc32',$text,true)),'=');
-     $t = str_replace('+','-',$t); // Get rid of characters which need encoding in URLs.
-     $t = str_replace('/','_',$t);
-     $t = str_replace('=','@',$t);
-     return $t;
+     return strtr($t, '+/', '-_');
  }
  
  // In a string, converts urls to clickable links.
@@@ -942,7 -939,7 +939,7 @@@ function showRSS(
          echo '<description><![CDATA['.nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link['description'])))).$descriptionlink.']]></description>'."\n</item>\n";
          $i++;
      }
 -    echo '</channel></rss><!-- Cached version of '.pageUrl().' -->';
 +    echo '</channel></rss><!-- Cached version of '.htmlspecialchars(pageUrl()).' -->';
  
      $cache->cache(ob_get_contents());
      ob_end_flush();
@@@ -1027,7 -1024,7 +1024,7 @@@ function showATOM(
      $feed.='<author><name>'.htmlspecialchars($pageaddr).'</name><uri>'.htmlspecialchars($pageaddr).'</uri></author>';
      $feed.='<id>'.htmlspecialchars($pageaddr).'</id>'."\n\n"; // Yes, I know I should use a real IRI (RFC3987), but the site URL will do.
      $feed.=$entries;
 -    $feed.='</feed><!-- Cached version of '.pageUrl().' -->';
 +    $feed.='</feed><!-- Cached version of '.htmlspecialchars(pageUrl()).' -->';
      echo $feed;
  
      $cache->cache(ob_get_contents());
@@@ -1104,7 -1101,7 +1101,7 @@@ function showDailyRSS(
          echo '<description><![CDATA['.$html.']]></description>'."\n</item>\n\n";
  
      }
 -    echo '</channel></rss><!-- Cached version of '.pageUrl().' -->';
 +    echo '</channel></rss><!-- Cached version of '.htmlspecialchars(pageUrl()).' -->';
  
      $cache->cache(ob_get_contents());
      ob_end_flush();
@@@ -1747,11 -1744,11 +1744,11 @@@ function importFile(
          }
          $LINKSDB->savedb();
  
 -        echo '<script language="JavaScript">alert("File '.$filename.' ('.$filesize.' bytes) was successfully processed: '.$import_count.' links imported.");document.location=\'?\';</script>';
 +        echo '<script language="JavaScript">alert("File '.json_encode($filename).' ('.$filesize.' bytes) was successfully processed: '.$import_count.' links imported.");document.location=\'?\';</script>';
      }
      else
      {
 -        echo '<script language="JavaScript">alert("File '.$filename.' ('.$filesize.' bytes) has an unknown file format. Nothing was imported.");document.location=\'?\';</script>';
 +        echo '<script language="JavaScript">alert("File '.json_encode($filename).' ('.$filesize.' bytes) has an unknown file format. Nothing was imported.");document.location=\'?\';</script>';
      }
  }