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/ |
Upload File : |
<?php namespace Bitrix\Bizproc\Calc; class Functions { private static array $functions; private static array $libsClasses = [ 'logic' => Libs\LogicLib::class, 'string' => Libs\StringLib::class, 'math' => Libs\MathLib::class, 'date' => Libs\DateLib::class, 'array' => Libs\ArrayLib::class, 'document' => Libs\DocumentLib::class, ]; public static function getList(): array { if (!isset(static::$functions)) { static::$functions = []; foreach (static::getLibs() as $lib) { static::$functions += static::getLibFunctions($lib); } } return static::$functions; } /** * @return Libs\BaseLib[] */ protected static function getLibs(): array { $libs = []; /** @var Libs\BaseLib $libClass */ foreach (static::$libsClasses as $libClass) { $libs[] = new $libClass(); } //TODO: send Event return $libs; } protected static function getLibFunctions(Libs\BaseLib $lib): array { return array_map( static function($function) use ($lib) { $function['func'] = \Closure::fromCallable([$lib, $function['func']]); return $function; }, $lib->getFunctions() ); } }