aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php')
-rw-r--r--srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php180
1 files changed, 180 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
new file mode 100644
index 0000000..6dfff17
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
@@ -0,0 +1,180 @@
+<?php
+declare(strict_types = 1);
+
+namespace BaconQrCode\Common;
+
+use BaconQrCode\Exception\InvalidArgumentException;
+use DASPRiD\Enum\AbstractEnum;
+
+/**
+ * Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1 of ISO 18004.
+ *
+ * @method static self CP437()
+ * @method static self ISO8859_1()
+ * @method static self ISO8859_2()
+ * @method static self ISO8859_3()
+ * @method static self ISO8859_4()
+ * @method static self ISO8859_5()
+ * @method static self ISO8859_6()
+ * @method static self ISO8859_7()
+ * @method static self ISO8859_8()
+ * @method static self ISO8859_9()
+ * @method static self ISO8859_10()
+ * @method static self ISO8859_11()
+ * @method static self ISO8859_12()
+ * @method static self ISO8859_13()
+ * @method static self ISO8859_14()
+ * @method static self ISO8859_15()
+ * @method static self ISO8859_16()
+ * @method static self SJIS()
+ * @method static self CP1250()
+ * @method static self CP1251()
+ * @method static self CP1252()
+ * @method static self CP1256()
+ * @method static self UNICODE_BIG_UNMARKED()
+ * @method static self UTF8()
+ * @method static self ASCII()
+ * @method static self BIG5()
+ * @method static self GB18030()
+ * @method static self EUC_KR()
+ */
+final class CharacterSetEci extends AbstractEnum
+{
+ protected const CP437 = [[0, 2]];
+ protected const ISO8859_1 = [[1, 3], 'ISO-8859-1'];
+ protected const ISO8859_2 = [[4], 'ISO-8859-2'];
+ protected const ISO8859_3 = [[5], 'ISO-8859-3'];
+ protected const ISO8859_4 = [[6], 'ISO-8859-4'];
+ protected const ISO8859_5 = [[7], 'ISO-8859-5'];
+ protected const ISO8859_6 = [[8], 'ISO-8859-6'];
+ protected const ISO8859_7 = [[9], 'ISO-8859-7'];
+ protected const ISO8859_8 = [[10], 'ISO-8859-8'];
+ protected const ISO8859_9 = [[11], 'ISO-8859-9'];
+ protected const ISO8859_10 = [[12], 'ISO-8859-10'];
+ protected const ISO8859_11 = [[13], 'ISO-8859-11'];
+ protected const ISO8859_12 = [[14], 'ISO-8859-12'];
+ protected const ISO8859_13 = [[15], 'ISO-8859-13'];
+ protected const ISO8859_14 = [[16], 'ISO-8859-14'];
+ protected const ISO8859_15 = [[17], 'ISO-8859-15'];
+ protected const ISO8859_16 = [[18], 'ISO-8859-16'];
+ protected const SJIS = [[20], 'Shift_JIS'];
+ protected const CP1250 = [[21], 'windows-1250'];
+ protected const CP1251 = [[22], 'windows-1251'];
+ protected const CP1252 = [[23], 'windows-1252'];
+ protected const CP1256 = [[24], 'windows-1256'];
+ protected const UNICODE_BIG_UNMARKED = [[25], 'UTF-16BE', 'UnicodeBig'];
+ protected const UTF8 = [[26], 'UTF-8'];
+ protected const ASCII = [[27, 170], 'US-ASCII'];
+ protected const BIG5 = [[28]];
+ protected const GB18030 = [[29], 'GB2312', 'EUC_CN', 'GBK'];
+ protected const EUC_KR = [[30], 'EUC-KR'];
+
+ /**
+ * @var int[]
+ */
+ private $values;
+
+ /**
+ * @var string[]
+ */
+ private $otherEncodingNames;
+
+ /**
+ * @var array<int, self>|null
+ */
+ private static $valueToEci;
+
+ /**
+ * @var array<string, self>|null
+ */
+ private static $nameToEci;
+
+ public function __construct(array $values, string ...$otherEncodingNames)
+ {
+ $this->values = $values;
+ $this->otherEncodingNames = $otherEncodingNames;
+ }
+
+ /**
+ * Returns the primary value.
+ */
+ public function getValue() : int
+ {
+ return $this->values[0];
+ }
+
+ /**
+ * Gets character set ECI by value.
+ *
+ * Returns the representing ECI of a given value, or null if it is legal but unsupported.
+ *
+ * @throws InvalidArgumentException if value is not between 0 and 900
+ */
+ public static function getCharacterSetEciByValue(int $value) : ?self
+ {
+ if ($value < 0 || $value >= 900) {
+ throw new InvalidArgumentException('Value must be between 0 and 900');
+ }
+
+ $valueToEci = self::valueToEci();
+
+ if (! array_key_exists($value, $valueToEci)) {
+ return null;
+ }
+
+ return $valueToEci[$value];
+ }
+
+ /**
+ * Returns character set ECI by name.
+ *
+ * Returns the representing ECI of a given name, or null if it is legal but unsupported
+ */
+ public static function getCharacterSetEciByName(string $name) : ?self
+ {
+ $nameToEci = self::nameToEci();
+ $name = strtolower($name);
+
+ if (! array_key_exists($name, $nameToEci)) {
+ return null;
+ }
+
+ return $nameToEci[$name];
+ }
+
+ private static function valueToEci() : array
+ {
+ if (null !== self::$valueToEci) {
+ return self::$valueToEci;
+ }
+
+ self::$valueToEci = [];
+
+ foreach (self::values() as $eci) {
+ foreach ($eci->values as $value) {
+ self::$valueToEci[$value] = $eci;
+ }
+ }
+
+ return self::$valueToEci;
+ }
+
+ private static function nameToEci() : array
+ {
+ if (null !== self::$nameToEci) {
+ return self::$nameToEci;
+ }
+
+ self::$nameToEci = [];
+
+ foreach (self::values() as $eci) {
+ self::$nameToEci[strtolower($eci->name())] = $eci;
+
+ foreach ($eci->otherEncodingNames as $name) {
+ self::$nameToEci[strtolower($name)] = $eci;
+ }
+ }
+
+ return self::$nameToEci;
+ }
+}