403Webshell
Server IP : 66.29.132.124  /  Your IP : 13.59.83.202
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/book24.ng/vendor/giggsey/libphonenumber-for-php/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/book24.ng/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php
<?php
/**
 *
 *
 * @author giggsey
 * @created: 02/10/13 16:52
 * @project libphonenumber-for-php
 */

namespace libphonenumber;

use Giggsey\Locale\Locale;
use libphonenumber\prefixmapper\PrefixFileReader;

class PhoneNumberToCarrierMapper
{
    /**
     * @var PhoneNumberToCarrierMapper[]
     */
    protected static $instance = array();

    const MAPPING_DATA_DIRECTORY = '/carrier/data/';

    /**
     * @var PhoneNumberUtil
     */
    protected $phoneUtil;
    /**
     * @var PrefixFileReader
     */
    protected $prefixFileReader;

    protected function __construct($phonePrefixDataDirectory)
    {
        $this->prefixFileReader = new PrefixFileReader(__DIR__ . DIRECTORY_SEPARATOR . $phonePrefixDataDirectory);
        $this->phoneUtil = PhoneNumberUtil::getInstance();
    }

    /**
     * Gets a {@link PhoneNumberToCarrierMapper} instance to carry out international carrier lookup.
     *
     * <p> The {@link PhoneNumberToCarrierMapper} is implemented as a singleton. Therefore, calling
     * this method multiple times will only result in one instance being created.
     *
     * @param string $mappingDir
     * @return PhoneNumberToCarrierMapper
     */
    public static function getInstance($mappingDir = self::MAPPING_DATA_DIRECTORY)
    {
        if (!array_key_exists($mappingDir, static::$instance)) {
            static::$instance[$mappingDir] = new static($mappingDir);
        }

        return static::$instance[$mappingDir];
    }

    /**
     * Returns a carrier name for the given phone number, in the language provided. The carrier name
     * is the one the number was originally allocated to, however if the country supports mobile
     * number portability the number might not belong to the returned carrier anymore. If no mapping
     * is found an empty string is returned.
     *
     * <p>This method assumes the validity of the number passed in has already been checked, and that
     * the number is suitable for carrier lookup. We consider mobile and pager numbers possible
     * candidates for carrier lookup.
     *
     * @param PhoneNumber $number a valid phone number for which we want to get a carrier name
     * @param string $languageCode the language code in which the name should be written
     * @return string a carrier name for the given phone number
     */
    public function getNameForValidNumber(PhoneNumber $number, $languageCode)
    {
        $languageStr = Locale::getPrimaryLanguage($languageCode);
        $scriptStr = '';
        $regionStr = Locale::getRegion($languageCode);

        return $this->prefixFileReader->getDescriptionForNumber($number, $languageStr, $scriptStr, $regionStr);
    }


    /**
     * Gets the name of the carrier for the given phone number, in the language provided. As per
     * {@link #getNameForValidNumber(PhoneNumber, Locale)} but explicitly checks the validity of
     * the number passed in.
     *
     * @param PhoneNumber $number The phone number  for which we want to get a carrier name
     * @param string $languageCode Language code for which the description should be written
     * @return string a carrier name for the given phone number, or empty string if the number passed in is
     *     invalid
     */
    public function getNameForNumber(PhoneNumber $number, $languageCode)
    {
        $numberType = $this->phoneUtil->getNumberType($number);
        if ($this->isMobile($numberType)) {
            return $this->getNameForValidNumber($number, $languageCode);
        }
        return '';
    }

    /**
     * Gets the name of the carrier for the given phone number only when it is 'safe' to display to
     * users. A carrier name is considered safe if the number is valid and for a region that doesn't
     * support
     * {@linkplain http://en.wikipedia.org/wiki/Mobile_number_portability mobile number portability}.
     *
     * @param $number PhoneNumber the phone number for which we want to get a carrier name
     * @param $languageCode String the language code in which the name should be written
     * @return string a carrier name that is safe to display to users, or the empty string
     */
    public function getSafeDisplayName(PhoneNumber $number, $languageCode)
    {
        if ($this->phoneUtil->isMobileNumberPortableRegion($this->phoneUtil->getRegionCodeForNumber($number))) {
            return '';
        }

        return $this->getNameForNumber($number, $languageCode);
    }

    /**
     * Checks if the supplied number type supports carrier lookup.
     * @param int $numberType A PhoneNumberType int
     * @return bool
     */
    protected function isMobile($numberType)
    {
        return ($numberType === PhoneNumberType::MOBILE ||
            $numberType === PhoneNumberType::FIXED_LINE_OR_MOBILE ||
            $numberType === PhoneNumberType::PAGER
        );
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit