Server IP : 66.29.132.124 / Your IP : 3.144.6.85 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 : |
<?php namespace libphonenumber; /** * Number Format */ class NumberFormat { /** * @var string */ protected $pattern; /** * @var bool */ protected $hasPattern = false; /** * @var string */ protected $format; /** * @var bool */ protected $hasFormat = false; /** * @var array */ protected $leadingDigitsPattern = array(); /** * @var string */ protected $nationalPrefixFormattingRule = ''; /** * @var bool */ protected $hasNationalPrefixFormattingRule = false; /** * @var bool */ protected $nationalPrefixOptionalWhenFormatting = false; /** * @var bool */ protected $hasNationalPrefixOptionalWhenFormatting = false; /** * @var string */ protected $domesticCarrierCodeFormattingRule = ''; /** * @var bool */ protected $hasDomesticCarrierCodeFormattingRule = false; public function __construct() { $this->clear(); } /** * @return NumberFormat */ public function clear() { $this->hasPattern = false; $this->pattern = null; $this->hasFormat = false; $this->format = null; $this->leadingDigitsPattern = array(); $this->hasNationalPrefixFormattingRule = false; $this->nationalPrefixFormattingRule = ''; $this->hasNationalPrefixOptionalWhenFormatting = false; $this->nationalPrefixOptionalWhenFormatting = false; $this->hasDomesticCarrierCodeFormattingRule = false; $this->domesticCarrierCodeFormattingRule = ''; return $this; } /** * @return boolean */ public function hasPattern() { return $this->hasPattern; } /** * @return string */ public function getPattern() { return $this->pattern; } /** * @param string $value * @return NumberFormat */ public function setPattern($value) { $this->hasPattern = true; $this->pattern = $value; return $this; } /** * @return boolean */ public function hasNationalPrefixOptionalWhenFormatting() { return $this->hasNationalPrefixOptionalWhenFormatting; } /** * @return boolean */ public function getNationalPrefixOptionalWhenFormatting() { return $this->nationalPrefixOptionalWhenFormatting; } /** * @param boolean $nationalPrefixOptionalWhenFormatting */ public function setNationalPrefixOptionalWhenFormatting($nationalPrefixOptionalWhenFormatting) { $this->hasNationalPrefixOptionalWhenFormatting = true; $this->nationalPrefixOptionalWhenFormatting = $nationalPrefixOptionalWhenFormatting; } /** * @return boolean */ public function hasFormat() { return $this->hasFormat; } /** * @return string */ public function getFormat() { return $this->format; } /** * @param string $value * @return NumberFormat */ public function setFormat($value) { $this->hasFormat = true; $this->format = $value; return $this; } /** * @return string[] */ public function leadingDigitPatterns() { return $this->leadingDigitsPattern; } /** * @return int */ public function leadingDigitsPatternSize() { return count($this->leadingDigitsPattern); } /** * @param int $index * @return string */ public function getLeadingDigitsPattern($index) { return $this->leadingDigitsPattern[$index]; } /** * @param string $value * @return NumberFormat */ public function addLeadingDigitsPattern($value) { $this->leadingDigitsPattern[] = $value; return $this; } /** * @return boolean */ public function hasNationalPrefixFormattingRule() { return $this->hasNationalPrefixFormattingRule; } /** * @return string */ public function getNationalPrefixFormattingRule() { return $this->nationalPrefixFormattingRule; } /** * @param string $value * @return NumberFormat */ public function setNationalPrefixFormattingRule($value) { $this->hasNationalPrefixFormattingRule = true; $this->nationalPrefixFormattingRule = (string)$value; return $this; } /** * @return NumberFormat */ public function clearNationalPrefixFormattingRule() { $this->nationalPrefixFormattingRule = ''; return $this; } /** * @return boolean */ public function hasDomesticCarrierCodeFormattingRule() { return $this->hasDomesticCarrierCodeFormattingRule; } /** * @return string */ public function getDomesticCarrierCodeFormattingRule() { return $this->domesticCarrierCodeFormattingRule; } /** * @param string $value * @return NumberFormat */ public function setDomesticCarrierCodeFormattingRule($value) { $this->hasDomesticCarrierCodeFormattingRule = true; $this->domesticCarrierCodeFormattingRule = (string)$value; return $this; } /** * @param NumberFormat $other * @return NumberFormat */ public function mergeFrom(NumberFormat $other) { if ($other->hasPattern()) { $this->setPattern($other->getPattern()); } if ($other->hasFormat()) { $this->setFormat($other->getFormat()); } $leadingDigitsPatternSize = $other->leadingDigitsPatternSize(); for ($i = 0; $i < $leadingDigitsPatternSize; $i++) { $this->addLeadingDigitsPattern($other->getLeadingDigitsPattern($i)); } if ($other->hasNationalPrefixFormattingRule()) { $this->setNationalPrefixFormattingRule($other->getNationalPrefixFormattingRule()); } if ($other->hasDomesticCarrierCodeFormattingRule()) { $this->setDomesticCarrierCodeFormattingRule($other->getDomesticCarrierCodeFormattingRule()); } if ($other->hasNationalPrefixOptionalWhenFormatting()) { $this->setNationalPrefixOptionalWhenFormatting($other->getNationalPrefixOptionalWhenFormatting()); } return $this; } /** * @return array */ public function toArray() { $output = array(); $output['pattern'] = $this->getPattern(); $output['format'] = $this->getFormat(); $output['leadingDigitsPatterns'] = $this->leadingDigitPatterns(); if ($this->hasNationalPrefixFormattingRule()) { $output['nationalPrefixFormattingRule'] = $this->getNationalPrefixFormattingRule(); } if ($this->hasDomesticCarrierCodeFormattingRule()) { $output['domesticCarrierCodeFormattingRule'] = $this->getDomesticCarrierCodeFormattingRule(); } if ($this->hasNationalPrefixOptionalWhenFormatting()) { $output['nationalPrefixOptionalWhenFormatting'] = $this->getNationalPrefixOptionalWhenFormatting(); } return $output; } /** * @param array $input */ public function fromArray(array $input) { $this->setPattern($input['pattern']); $this->setFormat($input['format']); foreach ($input['leadingDigitsPatterns'] as $leadingDigitsPattern) { $this->addLeadingDigitsPattern($leadingDigitsPattern); } if (isset($input['nationalPrefixFormattingRule']) && $input['nationalPrefixFormattingRule'] !== '') { $this->setNationalPrefixFormattingRule($input['nationalPrefixFormattingRule']); } if (isset($input['domesticCarrierCodeFormattingRule']) && $input['domesticCarrierCodeFormattingRule'] !== '') { $this->setDomesticCarrierCodeFormattingRule($input['domesticCarrierCodeFormattingRule']); } if (isset($input['nationalPrefixOptionalWhenFormatting'])) { $this->setNationalPrefixOptionalWhenFormatting($input['nationalPrefixOptionalWhenFormatting']); } } }