<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
if (!isset($_GET['website_code'])) {
throw new \Exception("website_code GET parameter is not set.");
}
$websiteCode = urldecode($_GET['website_code']);
$rootDir = '../../../../';
$websiteDir = $rootDir . 'websites/' . $websiteCode . '/';
$contents = file_get_contents($rootDir . 'index.php');
$websiteParam = <<<EOD
\$params = \$_SERVER;
\$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = '$websiteCode';
\$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
EOD;
$pattern = '`(try {.*?)(\/app\/bootstrap.*?}\n)(.*?)\$_SERVER`mis';
$replacement = "$1/../..$2\n$websiteParam$3\$params";
$contents = preg_replace($pattern, $replacement, $contents);
$old = umask(0);
mkdir($websiteDir, 0760, true);
umask($old);
copy($rootDir . '.htaccess', $websiteDir . '.htaccess');
file_put_contents($websiteDir . 'index.php', $contents);
-
Ketan authoredf012f907