Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

Native.php

Zuletzt modifiziert: 09.10.2024, 12:57 - Dateigröße: 3.72 KiB


001  <?php
002  /**
003   * Zend Framework (http://framework.zend.com/)
004   *
005   * @link      http://github.com/zendframework/zf2 for the canonical source repository
006   * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
007   * @license   http://framework.zend.com/license/new-bsd New BSD License
008   */
009   
010  namespace Zend\Stdlib\StringWrapper;
011   
012  use Zend\Stdlib\Exception;
013  use Zend\Stdlib\StringUtils;
014   
015  class Native extends AbstractStringWrapper
016  {
017      /**
018       * The character encoding working on
019       * (overwritten to change defaut encoding)
020       *
021       * @var string
022       */
023      protected $encoding = 'ASCII';
024   
025      /**
026       * Check if the given character encoding is supported by this wrapper
027       * and the character encoding to convert to is also supported.
028       *
029       * @param  string      $encoding
030       * @param  string|null $convertEncoding
031       * @return bool
032       */
033      public static function isSupported($encoding, $convertEncoding = null)
034      {
035          $encodingUpper      = strtoupper($encoding);
036          $supportedEncodings = static::getSupportedEncodings();
037   
038          if (!in_array($encodingUpper, $supportedEncodings)) {
039              return false;
040          }
041   
042          // This adapter doesn't support to convert between encodings
043          if ($convertEncoding !== null && $encodingUpper !== strtoupper($convertEncoding)) {
044              return false;
045          }
046   
047          return true;
048      }
049   
050      /**
051       * Get a list of supported character encodings
052       *
053       * @return string[]
054       */
055      public static function getSupportedEncodings()
056      {
057          return StringUtils::getSingleByteEncodings();
058      }
059   
060      /**
061       * Set character encoding working with and convert to
062       *
063       * @param string      $encoding         The character encoding to work with
064       * @param string|null $convertEncoding  The character encoding to convert to
065       * @return StringWrapperInterface
066       */
067      public function setEncoding($encoding, $convertEncoding = null)
068      {
069          $supportedEncodings = static::getSupportedEncodings();
070   
071          $encodingUpper = strtoupper($encoding);
072          if (!in_array($encodingUpper, $supportedEncodings)) {
073              throw new Exception\InvalidArgumentException(
074                  'Wrapper doesn\'t support character encoding "' . $encoding . '"'
075              );
076          }
077   
078          if ($encodingUpper !== strtoupper($convertEncoding)) {
079              $this->convertEncoding = $encodingUpper;
080          }
081   
082          if ($convertEncoding !== null) {
083              if ($encodingUpper !== strtoupper($convertEncoding)) {
084                  throw new Exception\InvalidArgumentException(
085                      'Wrapper doesn\'t support to convert between character encodings'
086                  );
087              }
088   
089              $this->convertEncoding = $encodingUpper;
090          } else {
091              $this->convertEncoding = null;
092          }
093          $this->encoding = $encodingUpper;
094   
095          return $this;
096      }
097   
098      /**
099       * Returns the length of the given string
100       *
101       * @param string $str
102       * @return int|false
103       */
104      public function strlen($str)
105      {
106          return strlen($str);
107      }
108   
109      /**
110       * Returns the portion of string specified by the start and length parameters
111       *
112       * @param string   $str
113       * @param int      $offset
114       * @param int|null $length
115       * @return string|false
116       */
117      public function substr($str, $offset = 0, $length = null)
118      {
119          return substr($str, $offset, $length);
120      }
121   
122      /**
123       * Find the position of the first occurrence of a substring in a string
124       *
125       * @param string $haystack
126       * @param string $needle
127       * @param int    $offset
128       * @return int|false
129       */
130      public function strpos($haystack, $needle, $offset = 0)
131      {
132          return strpos($haystack, $needle, $offset);
133      }
134  }
135