403Webshell
Server IP : 104.21.80.248  /  Your IP : 172.71.28.156
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  E:/Inetpub/www/myschool/triamudom/tuprblearn/lib/php-css-parser/Value/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : E:/Inetpub/www/myschool/triamudom/tuprblearn/lib/php-css-parser/Value/CalcFunction.php
<?php

namespace Sabberworm\CSS\Value;

use Sabberworm\CSS\Parsing\ParserState;
use Sabberworm\CSS\Parsing\UnexpectedTokenException;

class CalcFunction extends CSSFunction {
	const T_OPERAND  = 1;
	const T_OPERATOR = 2;

	public static function parse(ParserState $oParserState) {
		$aOperators = array('+', '-', '*', '/');
		$sFunction = trim($oParserState->consumeUntil('(', false, true));
		$oCalcList = new CalcRuleValueList($oParserState->currentLine());
		$oList = new RuleValueList(',', $oParserState->currentLine());
		$iNestingLevel = 0;
		$iLastComponentType = NULL;
		while(!$oParserState->comes(')') || $iNestingLevel > 0) {
			$oParserState->consumeWhiteSpace();
			if ($oParserState->comes('(')) {
				$iNestingLevel++;
				$oCalcList->addListComponent($oParserState->consume(1));
				continue;
			} else if ($oParserState->comes(')')) {
				$iNestingLevel--;
				$oCalcList->addListComponent($oParserState->consume(1));
				continue;
			}
			if ($iLastComponentType != CalcFunction::T_OPERAND) {
				$oVal = Value::parsePrimitiveValue($oParserState);
				$oCalcList->addListComponent($oVal);
				$iLastComponentType = CalcFunction::T_OPERAND;
			} else {
				if (in_array($oParserState->peek(), $aOperators)) {
					if (($oParserState->comes('-') || $oParserState->comes('+'))) {
						if ($oParserState->peek(1, -1) != ' ' || !($oParserState->comes('- ') || $oParserState->comes('+ '))) {
							throw new UnexpectedTokenException(" {$oParserState->peek()} ", $oParserState->peek(1, -1) . $oParserState->peek(2), 'literal', $oParserState->currentLine());
						}
					}
					$oCalcList->addListComponent($oParserState->consume(1));
					$iLastComponentType = CalcFunction::T_OPERATOR;
				} else {
					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()
					);
				}
			}
		}
		$oList->addListComponent($oCalcList);
		$oParserState->consume(')');
		return new CalcFunction($sFunction, $oList, ',', $oParserState->currentLine());
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit