Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UrlCheck.php
Go to the documentation of this file.
1 <?php
7 
8 use Zend\Mvc\Controller\AbstractActionController;
9 use Zend\View\Model\JsonModel;
10 use Zend\Json\Json;
11 use Magento\Framework\Validator\Url as UrlValidator;
12 
13 class UrlCheck extends AbstractActionController
14 {
18  private $urlValidator;
19 
23  public function __construct(UrlValidator $urlValidator)
24  {
25  $this->urlValidator = $urlValidator;
26  }
27 
33  public function indexAction()
34  {
35  $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
36  $result = ['successUrl' => false, 'successSecureUrl' => true];
37 
38  $hasBaseUrl = isset($params['address']['actual_base_url']);
39  $hasSecureBaseUrl = isset($params['https']['text']);
40  $hasSecureAdminUrl = !empty($params['https']['admin']);
41  $hasSecureFrontUrl = !empty($params['https']['front']);
42  $schemes = ['http', 'https'];
43 
44  // Validating of Base URL
45  if ($hasBaseUrl && $this->urlValidator->isValid($params['address']['actual_base_url'], $schemes)) {
46  $result['successUrl'] = true;
47  }
48 
49  // Validating of Secure Base URL
50  if ($hasSecureAdminUrl || $hasSecureFrontUrl) {
51  if (!($hasSecureBaseUrl && $this->urlValidator->isValid($params['https']['text'], $schemes))) {
52  $result['successSecureUrl'] = false;
53  }
54  }
55 
56  return new JsonModel($result);
57  }
58 }
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
__construct(UrlValidator $urlValidator)
Definition: UrlCheck.php:23