Server IP : 172.67.158.161 / Your IP : 18.226.94.88 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/mailpoet/lib/Features/ |
Upload File : |
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Features; if (!defined('ABSPATH')) exit; use MailPoet\Entities\FeatureFlagEntity; class FeatureFlagsController { /** @var FeaturesController */ private $featuresController; /** @var FeatureFlagsRepository */ private $featureFlagsRepository; public function __construct( FeaturesController $featuresController, FeatureFlagsRepository $featureFlagsRepository ) { $this->featuresController = $featuresController; $this->featureFlagsRepository = $featureFlagsRepository; } public function set($name, $value) { if (!$this->featuresController->exists($name)) { throw new \RuntimeException("Feature '$name' does not exist'"); } $this->featureFlagsRepository->createOrUpdate(['name' => $name, 'value' => $value]); } public function getAll() { $flags = $this->featureFlagsRepository->findAll(); $flagsMap = array_combine( array_map( function (FeatureFlagEntity $flag) { return $flag->getName(); }, $flags ), $flags ); $output = []; foreach ($this->featuresController->getDefaults() as $name => $default) { $output[] = [ 'name' => $name, 'value' => isset($flagsMap[$name]) ? (bool)$flagsMap[$name]->getValue() : $default, 'default' => $default, ]; } return $output; } }