Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/skins/Vector/includes/FeatureManagement/Requirements/UserPreferenceRequirement.php
Ðазад
<?php /** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file */ namespace MediaWiki\Skins\Vector\FeatureManagement\Requirements; use MediaWiki\Request\WebRequest; use MediaWiki\Skins\Vector\FeatureManagement\Requirement; use MediaWiki\Title\Title; use MediaWiki\User\Options\UserOptionsLookup; use MediaWiki\User\UserIdentity; /** * @package MediaWiki\Skins\Vector\FeatureManagement\Requirements */ final class UserPreferenceRequirement implements Requirement { private UserIdentity $user; private UserOptionsLookup $userOptionsLookup; private string $optionName; private string $requirementName; private ?Title $title; private OverrideableRequirementHelper $helper; /** * This constructor accepts all dependencies needed to determine whether * the overridable config is enabled for the current user and request. * * @param UserIdentity $user * @param UserOptionsLookup $userOptionsLookup * @param string $optionName The name of the user preference. * @param string $requirementName The name of the requirement presented to FeatureManager. * @param WebRequest $request * @param Title|null $title */ public function __construct( UserIdentity $user, UserOptionsLookup $userOptionsLookup, string $optionName, string $requirementName, WebRequest $request, ?Title $title = null ) { $this->user = $user; $this->userOptionsLookup = $userOptionsLookup; $this->optionName = $optionName; $this->requirementName = $requirementName; $this->title = $title; $this->helper = new OverrideableRequirementHelper( $request, $requirementName ); } /** * @inheritDoc */ public function getName(): string { return $this->requirementName; } /** * Checks whether the user preference is enabled or not. Returns true if * enabled AND title is not null. * * @internal * * @return bool */ public function isPreferenceEnabled(): bool { $user = $this->user; $userOptionsLookup = $this->userOptionsLookup; $optionValue = $userOptionsLookup->getOption( $user, $this->optionName ); // Check for 0, '0' or 'disabled'. // Any other value will be handled as enabled. $isEnabled = $optionValue && $optionValue !== 'disabled'; return $this->title && $isEnabled; } /** * @inheritDoc */ public function isMet(): bool { $override = $this->helper->isMet(); return $override ?? $this->isPreferenceEnabled(); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка