PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.18
Independent Analytics – WordPress Analytics Plugin v1.18
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / sabberworm / php-css-parser / src / Value / CalcFunction.php
independent-analytics / vendor / sabberworm / php-css-parser / src / Value Last commit date
CSSFunction.php 3 years ago CSSString.php 3 years ago CalcFunction.php 3 years ago CalcRuleValueList.php 3 years ago Color.php 3 years ago LineName.php 3 years ago PrimitiveValue.php 3 years ago RuleValueList.php 3 years ago Size.php 3 years ago URL.php 3 years ago Value.php 3 years ago ValueList.php 3 years ago
CalcFunction.php
69 lines
1 <?php
2
3 namespace IAWP\Sabberworm\CSS\Value;
4
5 use IAWP\Sabberworm\CSS\Parsing\ParserState;
6 use IAWP\Sabberworm\CSS\Parsing\UnexpectedEOFException;
7 use IAWP\Sabberworm\CSS\Parsing\UnexpectedTokenException;
8 class CalcFunction extends CSSFunction
9 {
10 /**
11 * @var int
12 */
13 const T_OPERAND = 1;
14 /**
15 * @var int
16 */
17 const T_OPERATOR = 2;
18 /**
19 * @return CalcFunction
20 *
21 * @throws UnexpectedTokenException
22 * @throws UnexpectedEOFException
23 */
24 public static function parse(ParserState $oParserState)
25 {
26 $aOperators = ['+', '-', '*', '/'];
27 $sFunction = \trim($oParserState->consumeUntil('(', \false, \true));
28 $oCalcList = new CalcRuleValueList($oParserState->currentLine());
29 $oList = new RuleValueList(',', $oParserState->currentLine());
30 $iNestingLevel = 0;
31 $iLastComponentType = null;
32 while (!$oParserState->comes(')') || $iNestingLevel > 0) {
33 $oParserState->consumeWhiteSpace();
34 if ($oParserState->comes('(')) {
35 $iNestingLevel++;
36 $oCalcList->addListComponent($oParserState->consume(1));
37 $oParserState->consumeWhiteSpace();
38 continue;
39 } elseif ($oParserState->comes(')')) {
40 $iNestingLevel--;
41 $oCalcList->addListComponent($oParserState->consume(1));
42 $oParserState->consumeWhiteSpace();
43 continue;
44 }
45 if ($iLastComponentType != CalcFunction::T_OPERAND) {
46 $oVal = Value::parsePrimitiveValue($oParserState);
47 $oCalcList->addListComponent($oVal);
48 $iLastComponentType = CalcFunction::T_OPERAND;
49 } else {
50 if (\in_array($oParserState->peek(), $aOperators)) {
51 if ($oParserState->comes('-') || $oParserState->comes('+')) {
52 if ($oParserState->peek(1, -1) != ' ' || !($oParserState->comes('- ') || $oParserState->comes('+ '))) {
53 throw new UnexpectedTokenException(" {$oParserState->peek()} ", $oParserState->peek(1, -1) . $oParserState->peek(2), 'literal', $oParserState->currentLine());
54 }
55 }
56 $oCalcList->addListComponent($oParserState->consume(1));
57 $iLastComponentType = CalcFunction::T_OPERATOR;
58 } else {
59 throw new UnexpectedTokenException(\sprintf('Next token was expected to be an operand of type %s. Instead "%s" was found.', \implode(', ', $aOperators), $oVal), '', 'custom', $oParserState->currentLine());
60 }
61 }
62 $oParserState->consumeWhiteSpace();
63 }
64 $oList->addListComponent($oCalcList);
65 $oParserState->consume(')');
66 return new CalcFunction($sFunction, $oList, ',', $oParserState->currentLine());
67 }
68 }
69