HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/appointmentbook.me/wp-content/plugins/booknetic/app/Providers/Helpers/Safe.php
<?php

namespace BookneticApp\Providers\Helpers;

class Safe
{
    /**
     * Safe string to lower
     *
     * @ref mbstring.func_overload
     *
     * @param string $str
     * @return string
     */
    public static function strtolower( $str )
    {
        if( function_exists( 'mb_strtolower' ) )
            return mb_strtolower( $str );

        return strtolower( $str );
    }


    /**
     * Safe string to upper
     *
     * @ref mbstring.func_overload
     *
     * @param string $str
     * @return string
     */
    public static function strtoupper( $str )
    {
        if( function_exists( 'mb_strtoupper' ) )
            return mb_strtoupper( $str );

        return strtoupper( $str );
    }


    /**
     * Safe string length
     *
     * @ref mbstring.func_overload
     *
     * @param string $str
     * @return int
     */
    public static function strlen( $str )
    {
        if( function_exists( 'mb_strlen' ) )
        {
            /**  mb_strlen in PHP 7.x can return false.
             * @psalm-suppress RedundantCast
             */
            return ( int ) mb_strlen( $str, '8bit' );
        }

        return strlen( $str );
    }

    /**
     * Safe substring
     *
     * @ref mbstring.func_overload
     *
     * @staticvar boolean $exists
     * @param string $str
     * @param int $start
     * @param ?int $length
     * @return string
     */
    public static function substr( $str, $start = 0, $length = null )
    {
        if( $length === 0 )
            return '';

        if( function_exists( 'mb_substr' ) )
            return mb_substr( $str, $start, $length, '8bit' );

        // Unlike mb_substr(), substr() doesn't accept NULL for length
        if( $length !== null )
            return substr( $str, $start, $length );

        return substr( $str, $start );
    }

    /**
     * Safe strpos
     *
     * @ref mbstring.func_overload
     *
     * @staticvar boolean $exists
     * @param string $haystack
     * @param int $needle
     * @param int $offset
     * @param null|string $encoding
     * @return int|false
     */
    public static function strpos( $haystack, $needle, $offset = 0, $encoding = null )
    {
        if( function_exists( 'mb_strpos' ) )
            return mb_strpos( $haystack, $needle, $offset, $encoding );

        return strpos( $haystack, $needle, $offset );
    }
}