PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.17.2 4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / third-party / vendor / symfony / css-selector / XPath / Extension / AttributeMatchingExtension.php
wp-user-avatar / third-party / vendor / symfony / css-selector / XPath / Extension Last commit date
AbstractExtension.php 2 months ago AttributeMatchingExtension.php 2 months ago CombinationExtension.php 2 months ago ExtensionInterface.php 2 months ago FunctionExtension.php 2 months ago HtmlExtension.php 2 months ago NodeExtension.php 2 months ago PseudoClassExtension.php 2 months ago
AttributeMatchingExtension.php
74 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace ProfilePressVendor\Symfony\Component\CssSelector\XPath\Extension;
12
13 use ProfilePressVendor\Symfony\Component\CssSelector\XPath\Translator;
14 use ProfilePressVendor\Symfony\Component\CssSelector\XPath\XPathExpr;
15 /**
16 * XPath expression translator attribute extension.
17 *
18 * This component is a port of the Python cssselect library,
19 * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
20 *
21 * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
22 *
23 * @internal
24 */
25 class AttributeMatchingExtension extends AbstractExtension
26 {
27 /**
28 * {@inheritdoc}
29 */
30 public function getAttributeMatchingTranslators(): array
31 {
32 return ['exists' => [$this, 'translateExists'], '=' => [$this, 'translateEquals'], '~=' => [$this, 'translateIncludes'], '|=' => [$this, 'translateDashMatch'], '^=' => [$this, 'translatePrefixMatch'], '$=' => [$this, 'translateSuffixMatch'], '*=' => [$this, 'translateSubstringMatch'], '!=' => [$this, 'translateDifferent']];
33 }
34 public function translateExists(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
35 {
36 return $xpath->addCondition($attribute);
37 }
38 public function translateEquals(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
39 {
40 return $xpath->addCondition(sprintf('%s = %s', $attribute, Translator::getXpathLiteral($value)));
41 }
42 public function translateIncludes(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
43 {
44 return $xpath->addCondition($value ? sprintf('%1$s and contains(concat(\' \', normalize-space(%1$s), \' \'), %2$s)', $attribute, Translator::getXpathLiteral(' ' . $value . ' ')) : '0');
45 }
46 public function translateDashMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
47 {
48 return $xpath->addCondition(sprintf('%1$s and (%1$s = %2$s or starts-with(%1$s, %3$s))', $attribute, Translator::getXpathLiteral($value), Translator::getXpathLiteral($value . '-')));
49 }
50 public function translatePrefixMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
51 {
52 return $xpath->addCondition($value ? sprintf('%1$s and starts-with(%1$s, %2$s)', $attribute, Translator::getXpathLiteral($value)) : '0');
53 }
54 public function translateSuffixMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
55 {
56 return $xpath->addCondition($value ? sprintf('%1$s and substring(%1$s, string-length(%1$s)-%2$s) = %3$s', $attribute, \strlen($value) - 1, Translator::getXpathLiteral($value)) : '0');
57 }
58 public function translateSubstringMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
59 {
60 return $xpath->addCondition($value ? sprintf('%1$s and contains(%1$s, %2$s)', $attribute, Translator::getXpathLiteral($value)) : '0');
61 }
62 public function translateDifferent(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
63 {
64 return $xpath->addCondition(sprintf($value ? 'not(%1$s) or %1$s != %2$s' : '%s != %s', $attribute, Translator::getXpathLiteral($value)));
65 }
66 /**
67 * {@inheritdoc}
68 */
69 public function getName(): string
70 {
71 return 'attribute-matching';
72 }
73 }
74