Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403]

   1  <?php
   2  /**
   3   * Stream filter class to convert binary data into hexadecimal.
   4   *
   5   * Usage:
   6   *   stream_filter_register('horde_bin2hex', 'Horde_Stream_Filter_Bin2hex');
   7   *   stream_filter_[app|pre]pend($stream, 'horde_bin2hex',
   8   *                               [ STREAM_FILTER_[READ|WRITE|ALL] ]);
   9   *
  10   * Copyright 2011-2017 Horde LLC (http://www.horde.org/)
  11   *
  12   * See the enclosed file LICENSE for license information (LGPL). If you
  13   * did not receive this file, see http://www.horde.org/licenses/lgpl21.
  14   *
  15   * @author   Michael Slusarz <slusarz@horde.org>
  16   * @category Horde
  17   * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
  18   * @package  Stream_Filter
  19   */
  20  class Horde_Stream_Filter_Bin2hex extends php_user_filter
  21  {
  22      /**
  23       * @see stream_filter_register()
  24       */
  25      public function filter($in, $out, &$consumed, $closing)
  26      {
  27          while ($bucket = stream_bucket_make_writeable($in)) {
  28              $bucket->data = bin2hex($bucket->data);
  29              $consumed += $bucket->datalen;
  30              stream_bucket_append($out, $bucket);
  31          }
  32  
  33          return PSFS_PASS_ON;
  34      }
  35  
  36  }