primo commit
This commit is contained in:
		
							
								
								
									
										12
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/EncodingHelperInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/EncodingHelperInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Algo26\IdnaConvert\EncodingHelper; | ||||
|  | ||||
| interface EncodingHelperInterface | ||||
| { | ||||
|     public function convert( | ||||
|         string $sourceString, | ||||
|         string $encoding = 'ISO-8859-1', | ||||
|         bool $safeMode = false | ||||
|     ); | ||||
| } | ||||
							
								
								
									
										117
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/FromUtf8.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/FromUtf8.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Algo26\IdnaConvert\EncodingHelper; | ||||
|  | ||||
| class FromUtf8 implements EncodingHelperInterface | ||||
| { | ||||
|     private const DEFAULT_ENCODING = 'ISO-8859-1'; | ||||
|  | ||||
|     private $encoding = self::DEFAULT_ENCODING; | ||||
|  | ||||
|     public function convert( | ||||
|         string $sourceString, | ||||
|         ?string $encoding = self::DEFAULT_ENCODING, | ||||
|         ?bool $safeMode = false | ||||
|     ) { | ||||
|         $safe = ($safeMode) ? $sourceString : false; | ||||
|  | ||||
|         if ($encoding !== null) { | ||||
|             $this->encoding = strtoupper($encoding); | ||||
|         } else { | ||||
|             $this->encoding = 'ISO-8859-1'; | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'UTF-8' || $this->encoding === 'UTF8') { | ||||
|             return $sourceString; | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'ISO-8859-1') { | ||||
|             return utf8_decode($sourceString); | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'WINDOWS-1252') { | ||||
|             return self::mapIso8859_1ToWindows1252(utf8_decode($sourceString)); | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'UNICODE-1-1-UTF-7') { | ||||
|             $this->encoding = 'UTF-7'; | ||||
|         } | ||||
|  | ||||
|         $converted = $this->convertWithLibraries($sourceString); | ||||
|         if (false !== $converted) { | ||||
|             return $converted; | ||||
|         } | ||||
|  | ||||
|         return $safe; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Special treatment for our guys in Redmond | ||||
|      * Windows-1252 is basically ISO-8859-1 -- with some exceptions, which get dealt with here | ||||
|      * | ||||
|      * @param  string $string Your input in ISO-8859-1 | ||||
|      * | ||||
|      * @return  string  The resulting Win1252 string | ||||
|      * @since 0.0.1 | ||||
|      */ | ||||
|     private function mapIso8859_1ToWindows1252($string = '') | ||||
|     { | ||||
|         $return = ''; | ||||
|         for ($i = 0; $i < strlen($string); ++$i) { | ||||
|             $codePoint = ord($string[$i]); | ||||
|             switch ($codePoint) { | ||||
|                 case 196: | ||||
|                     $return .= chr(142); | ||||
|                     break; | ||||
|                 case 214: | ||||
|                     $return .= chr(153); | ||||
|                     break; | ||||
|                 case 220: | ||||
|                     $return .= chr(154); | ||||
|                     break; | ||||
|                 case 223: | ||||
|                     $return .= chr(225); | ||||
|                     break; | ||||
|                 case 228: | ||||
|                     $return .= chr(132); | ||||
|                     break; | ||||
|                 case 246: | ||||
|                     $return .= chr(148); | ||||
|                     break; | ||||
|                 case 252: | ||||
|                     $return .= chr(129); | ||||
|                     break; | ||||
|                 default: | ||||
|                     $return .= chr($codePoint); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return $return; | ||||
|     } | ||||
|  | ||||
|     private function convertWithLibraries(string $string): ?string | ||||
|     { | ||||
|         if (function_exists('mb_convert_encoding')) { | ||||
|             $converted = @mb_convert_encoding($string, $this->encoding, 'UTF-8'); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (function_exists('iconv')) { | ||||
|             $converted = @iconv('UTF-8', $this->encoding, $string); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (function_exists('libiconv')) { | ||||
|             $converted = @libiconv('UTF-8', $this->encoding, $string); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										117
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/ToUtf8.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								libraries/vendor/algo26-matthias/idna-convert/src/EncodingHelper/ToUtf8.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Algo26\IdnaConvert\EncodingHelper; | ||||
|  | ||||
| class ToUtf8 implements EncodingHelperInterface | ||||
| { | ||||
|     private const DEFAULT_ENCODING = 'ISO-8859-1'; | ||||
|  | ||||
|     private $encoding = self::DEFAULT_ENCODING; | ||||
|  | ||||
|     public function convert( | ||||
|         string $sourceString, | ||||
|         ?string $encoding = self::DEFAULT_ENCODING, | ||||
|         ?bool $safeMode = false | ||||
|     ) { | ||||
|         $safe = ($safeMode) ? $sourceString : false; | ||||
|  | ||||
|         if ($encoding !== null) { | ||||
|             $this->encoding = strtoupper($encoding); | ||||
|         } else { | ||||
|             $this->encoding = 'ISO-8859-1'; | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'UTF-8' || $this->encoding === 'UTF8') { | ||||
|             return $sourceString; | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'ISO-8859-1') { | ||||
|             return utf8_encode($sourceString); | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'WINDOWS-1252') { | ||||
|             return utf8_encode($this->mapWindows1252ToIso8859_1($sourceString)); | ||||
|         } | ||||
|  | ||||
|         if ($this->encoding === 'UNICODE-1-1-UTF-7') { | ||||
|             $this->encoding = 'UTF-7'; | ||||
|         } | ||||
|  | ||||
|         $converted = $this->convertWithLibraries($sourceString); | ||||
|         if (false !== $converted) { | ||||
|             return $converted; | ||||
|         } | ||||
|  | ||||
|         return $safe; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Special treatment for our guys in Redmond | ||||
|      * Windows-1252 is basically ISO-8859-1 -- with some exceptions, which get dealt with here | ||||
|      * | ||||
|      * @param  string $string Your input in Win1252 | ||||
|      * | ||||
|      * @return string  The resulting ISO-8859-1 string | ||||
|      * @since 0.0.1 | ||||
|      */ | ||||
|     private function mapWindows1252ToIso8859_1($string = '') | ||||
|     { | ||||
|         $return = ''; | ||||
|         for ($i = 0; $i < strlen($string); ++$i) { | ||||
|             $codePoint = ord($string[$i]); | ||||
|             switch ($codePoint) { | ||||
|                 case 129: | ||||
|                     $return .= chr(252); | ||||
|                     break; | ||||
|                 case 132: | ||||
|                     $return .= chr(228); | ||||
|                     break; | ||||
|                 case 142: | ||||
|                     $return .= chr(196); | ||||
|                     break; | ||||
|                 case 148: | ||||
|                     $return .= chr(246); | ||||
|                     break; | ||||
|                 case 153: | ||||
|                     $return .= chr(214); | ||||
|                     break; | ||||
|                 case 154: | ||||
|                     $return .= chr(220); | ||||
|                     break; | ||||
|                 case 225: | ||||
|                     $return .= chr(223); | ||||
|                     break; | ||||
|                 default: | ||||
|                     $return .= chr($codePoint); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return $return; | ||||
|     } | ||||
|  | ||||
|     private function convertWithLibraries(string $string): ?string | ||||
|     { | ||||
|         if (function_exists('mb_convert_encoding')) { | ||||
|             $converted = @mb_convert_encoding($string, 'UTF-8', $this->encoding); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (function_exists('iconv')) { | ||||
|             $converted = @iconv($this->encoding, 'UTF-8', $string); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (function_exists('libiconv')) { | ||||
|             $converted = @libiconv($this->encoding, 'UTF-8', $string); | ||||
|             if (false !== $converted) { | ||||
|                 return $converted; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user