__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <[email protected]> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; /** * @author Mathieu Santostefano <[email protected]> */ class CssColorValidator extends ConstraintValidator { private const PATTERN_HEX_LONG = '/^#[0-9a-f]{6}$/iD'; private const PATTERN_HEX_LONG_WITH_ALPHA = '/^#[0-9a-f]{8}$/iD'; private const PATTERN_HEX_SHORT = '/^#[0-9a-f]{3}$/iD'; private const PATTERN_HEX_SHORT_WITH_ALPHA = '/^#[0-9a-f]{4}$/iD'; // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Basic_Colors private const PATTERN_BASIC_NAMED_COLORS = '/^(black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua)$/iD'; // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Extended_colors private const PATTERN_EXTENDED_NAMED_COLORS = '/^(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/iD'; // List comes from https://drafts.csswg.org/css-color/#css-system-colors private const PATTERN_SYSTEM_COLORS = '/^(Canvas|CanvasText|LinkText|VisitedText|ActiveText|ButtonFace|ButtonText|ButtonBorder|Field|FieldText|Highlight|HighlightText|SelectedItem|SelectedItemText|Mark|MarkText|GrayText)$/iD'; private const PATTERN_KEYWORDS = '/^(transparent|currentColor)$/iD'; private const PATTERN_RGB = '/^rgb\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d)\s*\)$/iD'; private const PATTERN_RGBA = '/^rgba\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; private const PATTERN_HSL = '/^hsl\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%\s*\)$/iD'; private const PATTERN_HSLA = '/^hsla\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%,\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; private const COLOR_PATTERNS = [ CssColor::HEX_LONG => self::PATTERN_HEX_LONG, CssColor::HEX_LONG_WITH_ALPHA => self::PATTERN_HEX_LONG_WITH_ALPHA, CssColor::HEX_SHORT => self::PATTERN_HEX_SHORT, CssColor::HEX_SHORT_WITH_ALPHA => self::PATTERN_HEX_SHORT_WITH_ALPHA, CssColor::BASIC_NAMED_COLORS => self::PATTERN_BASIC_NAMED_COLORS, CssColor::EXTENDED_NAMED_COLORS => self::PATTERN_EXTENDED_NAMED_COLORS, CssColor::SYSTEM_COLORS => self::PATTERN_SYSTEM_COLORS, CssColor::KEYWORDS => self::PATTERN_KEYWORDS, CssColor::RGB => self::PATTERN_RGB, CssColor::RGBA => self::PATTERN_RGBA, CssColor::HSL => self::PATTERN_HSL, CssColor::HSLA => self::PATTERN_HSLA, ]; public function validate($value, Constraint $constraint): void { if (!$constraint instanceof CssColor) { throw new UnexpectedTypeException($constraint, CssColor::class); } if (null === $value || '' === $value) { return; } if (!\is_string($value)) { throw new UnexpectedValueException($value, 'string'); } $formats = array_flip((array) $constraint->formats); $formatRegexes = array_intersect_key(self::COLOR_PATTERNS, $formats); foreach ($formatRegexes as $regex) { if (preg_match($regex, (string) $value)) { return; } } $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(CssColor::INVALID_FORMAT_ERROR) ->addViolation(); } }
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AbstractComparison.php | File | 2.19 KB | 0664 |
|
| AbstractComparisonValidator.php | File | 4.1 KB | 0664 |
|
| All.php | File | 1.02 KB | 0664 |
|
| AllValidator.php | File | 1.31 KB | 0664 |
|
| AtLeastOneOf.php | File | 1.93 KB | 0664 |
|
| AtLeastOneOfValidator.php | File | 2.54 KB | 0664 |
|
| Bic.php | File | 3.29 KB | 0664 |
|
| BicValidator.php | File | 6.13 KB | 0664 |
|
| Blank.php | File | 1.19 KB | 0664 |
|
| BlankValidator.php | File | 1.07 KB | 0664 |
|
| Callback.php | File | 1.58 KB | 0664 |
|
| CallbackValidator.php | File | 2.09 KB | 0664 |
|
| CardScheme.php | File | 2.28 KB | 0664 |
|
| CardSchemeValidator.php | File | 5.01 KB | 0664 |
|
| Cascade.php | File | 1.26 KB | 0664 |
|
| Choice.php | File | 3.12 KB | 0664 |
|
| ChoiceValidator.php | File | 4.37 KB | 0664 |
|
| Cidr.php | File | 2.78 KB | 0664 |
|
| CidrValidator.php | File | 2.32 KB | 0664 |
|
| Collection.php | File | 3.7 KB | 0664 |
|
| CollectionValidator.php | File | 3.4 KB | 0664 |
|
| Composite.php | File | 5.44 KB | 0664 |
|
| Compound.php | File | 1.39 KB | 0664 |
|
| CompoundValidator.php | File | 1002 B | 0664 |
|
| Count.php | File | 3.5 KB | 0664 |
|
| CountValidator.php | File | 2.8 KB | 0664 |
|
| Country.php | File | 1.64 KB | 0664 |
|
| CountryValidator.php | File | 1.55 KB | 0664 |
|
| CssColor.php | File | 3.7 KB | 0664 |
|
| CssColorValidator.php | File | 5.36 KB | 0664 |
|
| Currency.php | File | 1.56 KB | 0664 |
|
| CurrencyValidator.php | File | 1.54 KB | 0664 |
|
| Date.php | File | 1.33 KB | 0664 |
|
| DateTime.php | File | 1.8 KB | 0664 |
|
| DateTimeValidator.php | File | 2.71 KB | 0664 |
|
| DateValidator.php | File | 2.12 KB | 0664 |
|
| DisableAutoMapping.php | File | 1.27 KB | 0664 |
|
| DivisibleBy.php | File | 956 B | 0664 |
|
| DivisibleByValidator.php | File | 1.52 KB | 0664 |
|
| Email.php | File | 3.45 KB | 0664 |
|
| EmailValidator.php | File | 4.79 KB | 0664 |
|
| EnableAutoMapping.php | File | 1.27 KB | 0664 |
|
| EqualTo.php | File | 999 B | 0664 |
|
| EqualToValidator.php | File | 723 B | 0664 |
|
| Existence.php | File | 612 B | 0664 |
|
| Expression.php | File | 2.63 KB | 0664 |
|
| ExpressionLanguageProvider.php | File | 1.09 KB | 0664 |
|
| ExpressionLanguageSyntax.php | File | 1.84 KB | 0664 |
|
| ExpressionLanguageSyntaxValidator.php | File | 2.37 KB | 0664 |
|
| ExpressionSyntax.php | File | 1.44 KB | 0664 |
|
| ExpressionSyntaxValidator.php | File | 1.92 KB | 0664 |
|
| ExpressionValidator.php | File | 2.05 KB | 0664 |
|
| File.php | File | 7.84 KB | 0664 |
|
| FileValidator.php | File | 11.92 KB | 0664 |
|
| GreaterThan.php | File | 1001 B | 0664 |
|
| GreaterThanOrEqual.php | File | 1020 B | 0664 |
|
| GreaterThanOrEqualValidator.php | File | 795 B | 0664 |
|
| GreaterThanValidator.php | File | 767 B | 0664 |
|
| GroupSequence.php | File | 2.62 KB | 0664 |
|
| GroupSequenceProvider.php | File | 790 B | 0664 |
|
| Hostname.php | File | 1.37 KB | 0664 |
|
| HostnameValidator.php | File | 2.03 KB | 0664 |
|
| Iban.php | File | 1.92 KB | 0664 |
|
| IbanValidator.php | File | 12.93 KB | 0664 |
|
| IdenticalTo.php | File | 1.02 KB | 0664 |
|
| IdenticalToValidator.php | File | 741 B | 0664 |
|
| Image.php | File | 9.63 KB | 0664 |
|
| ImageValidator.php | File | 9.21 KB | 0664 |
|
| Ip.php | File | 3.32 KB | 0664 |
|
| IpValidator.php | File | 2.48 KB | 0664 |
|
| IsFalse.php | File | 1.19 KB | 0664 |
|
| IsFalseValidator.php | File | 1.12 KB | 0664 |
|
| IsNull.php | File | 1.19 KB | 0664 |
|
| IsNullValidator.php | File | 1.05 KB | 0664 |
|
| IsTrue.php | File | 1.19 KB | 0664 |
|
| IsTrueValidator.php | File | 1.11 KB | 0664 |
|
| Isbn.php | File | 2.78 KB | 0664 |
|
| IsbnValidator.php | File | 5.55 KB | 0664 |
|
| Isin.php | File | 1.65 KB | 0664 |
|
| IsinValidator.php | File | 2.46 KB | 0664 |
|
| Issn.php | File | 2.24 KB | 0664 |
|
| IssnValidator.php | File | 4.07 KB | 0664 |
|
| Json.php | File | 1.19 KB | 0664 |
|
| JsonValidator.php | File | 1.37 KB | 0664 |
|
| Language.php | File | 1.65 KB | 0664 |
|
| LanguageValidator.php | File | 1.55 KB | 0664 |
|
| Length.php | File | 4.64 KB | 0664 |
|
| LengthValidator.php | File | 3.73 KB | 0664 |
|
| LessThan.php | File | 998 B | 0664 |
|
| LessThanOrEqual.php | File | 1017 B | 0664 |
|
| LessThanOrEqualValidator.php | File | 787 B | 0664 |
|
| LessThanValidator.php | File | 759 B | 0664 |
|
| Locale.php | File | 1.66 KB | 0664 |
|
| LocaleValidator.php | File | 1.62 KB | 0664 |
|
| Luhn.php | File | 1.55 KB | 0664 |
|
| LuhnValidator.php | File | 3.15 KB | 0664 |
|
| Negative.php | File | 653 B | 0664 |
|
| NegativeOrZero.php | File | 681 B | 0664 |
|
| NoSuspiciousCharacters.php | File | 4.61 KB | 0664 |
|
| NoSuspiciousCharactersValidator.php | File | 4.17 KB | 0664 |
|
| NotBlank.php | File | 1.8 KB | 0664 |
|
| NotBlankValidator.php | File | 1.36 KB | 0664 |
|
| NotCompromisedPassword.php | File | 1.63 KB | 0664 |
|
| NotCompromisedPasswordValidator.php | File | 3.58 KB | 0664 |
|
| NotEqualTo.php | File | 1003 B | 0664 |
|
| NotEqualToValidator.php | File | 734 B | 0664 |
|
| NotIdenticalTo.php | File | 1.02 KB | 0664 |
|
| NotIdenticalToValidator.php | File | 749 B | 0664 |
|
| NotNull.php | File | 1.19 KB | 0664 |
|
| NotNullValidator.php | File | 1.06 KB | 0664 |
|
| Optional.php | File | 431 B | 0664 |
|
| PasswordStrength.php | File | 1.79 KB | 0664 |
|
| PasswordStrengthValidator.php | File | 3.06 KB | 0664 |
|
| Positive.php | File | 656 B | 0664 |
|
| PositiveOrZero.php | File | 684 B | 0664 |
|
| Range.php | File | 4.73 KB | 0664 |
|
| RangeValidator.php | File | 7.21 KB | 0664 |
|
| Regex.php | File | 3.92 KB | 0664 |
|
| RegexValidator.php | File | 1.71 KB | 0664 |
|
| Required.php | File | 431 B | 0664 |
|
| Sequentially.php | File | 1.35 KB | 0664 |
|
| SequentiallyValidator.php | File | 1.18 KB | 0664 |
|
| Time.php | File | 1.5 KB | 0664 |
|
| TimeValidator.php | File | 2.21 KB | 0664 |
|
| Timezone.php | File | 3.24 KB | 0664 |
|
| TimezoneValidator.php | File | 3.76 KB | 0664 |
|
| Traverse.php | File | 1.1 KB | 0664 |
|
| Type.php | File | 1.6 KB | 0664 |
|
| TypeValidator.php | File | 2.92 KB | 0664 |
|
| Ulid.php | File | 1.56 KB | 0664 |
|
| UlidValidator.php | File | 2.37 KB | 0664 |
|
| Unique.php | File | 1.96 KB | 0664 |
|
| UniqueValidator.php | File | 2.46 KB | 0664 |
|
| Url.php | File | 1.97 KB | 0664 |
|
| UrlValidator.php | File | 4.81 KB | 0664 |
|
| Uuid.php | File | 3.93 KB | 0664 |
|
| UuidValidator.php | File | 8.51 KB | 0664 |
|
| Valid.php | File | 1.29 KB | 0664 |
|
| ValidValidator.php | File | 1.02 KB | 0664 |
|
| When.php | File | 2.23 KB | 0664 |
|
| WhenValidator.php | File | 1.72 KB | 0664 |
|
| ZeroComparisonConstraintTrait.php | File | 1.23 KB | 0664 |
|