Example: $vz = new Vizhash16x16(); $data = $vz->generate(sha512('hello')); header('Content-type: image/png'); echo $data; exit;
Пример #1
0
 /**
  * Set nickname.
  *
  * @access public
  * @param string $nickname
  * @throws Exception
  * @return void
  */
 public function setNickname($nickname)
 {
     if (!Sjcl::isValid($nickname)) {
         throw new Exception('Invalid data.', 66);
     }
     $this->_data->meta->nickname = $nickname;
     // If a nickname is provided, we generate an icon based on a SHA512 HMAC
     // of the users IP. (We assume that if the user did not enter a nickname,
     // the user wants to be anonymous and we will not generate an icon.)
     $icon = $this->_conf->getKey('icon');
     if ($icon != 'none') {
         $pngdata = '';
         $hmac = TrafficLimiter::getHash();
         if ($icon == 'identicon') {
             $identicon = new Identicon();
             $pngdata = $identicon->getImageDataUri($hmac, 16);
         } elseif ($icon == 'vizhash') {
             $vh = new Vizhash16x16();
             $pngdata = 'data:image/png;base64,' . base64_encode($vh->generate($hmac));
         }
         if ($pngdata != '') {
             $this->_data->meta->vizhash = $pngdata;
         }
     }
     // Once the icon is generated, we do not keep the IP address hash.
 }