1234567891011121314151617181920212223242526272829303132 |
- <?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);
|