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/rospirotorg.ru/bitrix/modules/letme.watchman/lib/Drivers/ |
Upload File : |
<?php namespace Letme\Watchman\Drivers; use Letme\Watchman\Settings\Model\SettingsTable; use Tightenco\Collect\Support\Collection; class Manager { public static function getList(): Collection { $settings = Collection ::make(SettingsTable::getList()->fetchAll()) ->groupBy(SettingsTable::DRIVER); return Collection ::make(DriversEnum::toValues()) ->map( function ($item) use ($settings) { return $item::init( $settings->get($item, Collection::empty()) ->keyBy('name') ->map( function ($item) { return $item['value']; } ) ->toArray() ); } ); } public static function getByCode(string $code): Driver { $driver = Collection::make(self::getList())->first( function (Driver $driver) use ($code) { return $driver::code() === $code; } ); if ($driver) { return $driver; } throw new DriverNotFound( str_replace('#CODE#', $code, GetMessage('LETME_WATCHMAN_RU_EXCEPTION_DRIVER_NOT_FOUND')) ); } public static function getActive(): Collection { $drivers = self::getList(); return $drivers->filter( function (Driver $driver) { return $driver->status(); } ); } }