1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Store\Model\Config;
- use Magento\Framework\App\DeploymentConfig\ValidatorInterface;
- use Magento\Store\Model\ScopeInterface;
- /**
- * Validates that scopes data contain correct values
- */
- class Validator implements ValidatorInterface
- {
- /**
- * Checks that scopes data contain at least one not admin website, group and store
- *
- * {@inheritdoc}
- */
- public function validate(array $data)
- {
- $errorMessage = ['Scopes data should have at least one not admin website, group and store.'];
- //list of scope names and their identifier for admin scopes in $data.
- $entities = [
- ScopeInterface::SCOPE_GROUPS => 0,
- ScopeInterface::SCOPE_STORES => 'admin',
- ScopeInterface::SCOPE_WEBSITES => 'admin'
- ];
- foreach ($entities as $scopeName => $key) {
- if (empty($data[$scopeName])
- || (count($data[$scopeName]) == 1 && isset($data[$scopeName][$key]))) {
- return $errorMessage;
- }
- }
- return [];
- }
- }
|