Файловый менеджер - Редактировать - /home/harasnat/www/horse/wp-content/plugins/admin-menu-editor/customizables/Settings/EnumSetting.php
Назад
<?php namespace YahnisElsts\AdminMenuEditor\Customizable\Settings; use YahnisElsts\AdminMenuEditor\Customizable\Controls\ChoiceControlOption; use YahnisElsts\AdminMenuEditor\Customizable\Schemas\Enum; use YahnisElsts\AdminMenuEditor\Customizable\Settings\WithSchema\SingularSetting; use YahnisElsts\AdminMenuEditor\Customizable\Storage\StorageInterface; /** * A wrapper for a setting with an enum schema. */ class EnumSetting extends SingularSetting { public function __construct($id, StorageInterface $store, $enumValues, $params = array()) { if ( empty($enumValues) ) { throw new \InvalidArgumentException('Enum must have at least one possible value'); } $schema = (new Enum())->values(array_values($enumValues)); if ( array_key_exists('default', $params) ) { $schema->defaultValue($params['default']); } parent::__construct($schema, $id, $store, $params); } public function isChoiceEnabled($value) { $schema = $this->getSchema(); if ( $schema instanceof Enum ) { return $schema->isValueEnabled($value); } return true; //Should never happen, but just in case. } /** * @param mixed $value * @param string|null $label * @param string|null $description * @param bool|callable|null $state * @param string|null $icon * @return $this */ public function describeChoice($value, $label, $description = '', $state = null, $icon = null) { $schema = $this->getSchema(); if ( $schema instanceof Enum ) { $schema->describeValue($value, $label, $description, $state, $icon); } return $this; } /** * Automatically generate dropdown/radio/etc options from the setting's * possible values. * * Will use custom labels/descriptions if available. * * @return ChoiceControlOption[] */ public function generateChoiceOptions() { return ChoiceControlOption::fromEnumSetting($this); } /** * @return array */ public function getEnumValues() { $schema = $this->getSchema(); if ( $schema instanceof Enum ) { return $schema->getEnumValues(); } return []; } public function getChoiceDetails($value) { $schema = $this->getSchema(); if ( $schema instanceof Enum ) { return $schema->getValueDetails($value); } return null; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка