]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/thrift/lib/php/src/TStringUtils.php
import quincy beta 17.1.0
[ceph.git] / ceph / src / jaegertracing / thrift / lib / php / src / TStringUtils.php
diff --git a/ceph/src/jaegertracing/thrift/lib/php/src/TStringUtils.php b/ceph/src/jaegertracing/thrift/lib/php/src/TStringUtils.php
deleted file mode 100644 (file)
index 894baf8..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-interface TStringFunc
-{
-    public function substr($str, $start, $length = null);
-    public function strlen($str);
-}
-
-class TStringFunc_Core
-implements TStringFunc {
-    public function substr($str, $start, $length = null)
-    {
-        // specifying a null $length would return an empty string
-        if ($length === null) {
-            return substr($str, $start);
-        }
-
-        return substr($str, $start, $length);
-    }
-
-    public function strlen($str)
-    {
-        return strlen($str);
-    }
-}
-
-class TStringFunc_Mbstring
-implements TStringFunc {
-    public function substr($str, $start, $length = null)
-    {
-        /**
-         * We need to set the charset parameter, which is the second
-         * optional parameter and the first optional parameter can't
-         * be null or false as a "magic" value because that would
-         * cause an empty string to be returned, so we need to
-         * actually calculate the proper length value.
-         */
-        if ($length === null) {
-            $length = $this->strlen($str) - $start;
-        }
-
-        return mb_substr($str, $start, $length, '8bit');
-    }
-
-    public function strlen($str)
-    {
-        return mb_strlen($str, '8bit');
-    }
-}
-
-class TStringFuncFactory
-{
-    private static $_instance;
-
-    /**
-     * Get the Singleton instance of TStringFunc implementation that is
-     * compatible with the current system's mbstring.func_overload settings.
-     *
-     * @return TStringFunc
-     */
-    public static function create()
-    {
-        if (!self::$_instance) {
-            self::_setInstance();
-        }
-
-        return self::$_instance;
-    }
-
-    private static function _setInstance()
-    {
-        /**
-         * Cannot use str* functions for byte counting because multibyte
-         * characters will be read a single bytes.
-         *
-         * See: http://us.php.net/manual/en/mbstring.overload.php
-         */
-        if (ini_get('mbstring.func_overload') & 2) {
-            self::$_instance = new TStringFunc_Mbstring();
-        }
-        /**
-         * mbstring is not installed or does not have function overloading
-         * of the str* functions enabled so use PHP core str* functions for
-         * byte counting.
-         */
-        else {
-            self::$_instance = new TStringFunc_Core();
-        }
-    }
-}