75 lines
2.3 KiB
PHP
75 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* Copyright since 2007 PrestaShop SA and Contributors
|
|
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Academic Free License version 3.0
|
|
* that is bundled with this package in the file LICENSE.md.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* https://opensource.org/licenses/AFL-3.0
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@prestashop.com so we can send you a copy immediately.
|
|
*
|
|
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
|
* @copyright Since 2007 PrestaShop SA and Contributors
|
|
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
|
*/
|
|
if (!defined('_PS_VERSION_')) {
|
|
exit;
|
|
}
|
|
|
|
$rootDir = defined('_PS_ROOT_DIR_') ? _PS_ROOT_DIR_ : getenv('_PS_ROOT_DIR_');
|
|
if (!$rootDir) {
|
|
$rootDir = __DIR__ . '/../../../';
|
|
}
|
|
|
|
require_once $rootDir . '/vendor/autoload.php';
|
|
|
|
/**
|
|
* @param ps_mbo $module
|
|
*
|
|
* @return bool
|
|
*/
|
|
function upgrade_module_4_7_0(Module $module): bool
|
|
{
|
|
$module->updateHooks();
|
|
$module->updateTabs();
|
|
|
|
$singleShop = PrestaShop\Module\Mbo\Helpers\Config::getDefaultShop();
|
|
$domains = Tools::getDomains();
|
|
|
|
$shopDomain = array_filter(
|
|
$domains,
|
|
function ($domain) use ($singleShop) {
|
|
// Here we assume that every shop have a single domain (?)
|
|
$domain = reset($domain);
|
|
|
|
return isset($domain['id_shop']) && (int) $singleShop->id === (int) $domain['id_shop'];
|
|
}
|
|
);
|
|
|
|
if (!empty($shopDomain)) {
|
|
$domain = array_keys($shopDomain)[0];
|
|
$domain = preg_replace('#(https?://)#', '', $domain);
|
|
|
|
// concatenate the physical_uri
|
|
$domainDef = reset($shopDomain[$domain]);
|
|
if (isset($domainDef['physical']) && '/' !== $domainDef['physical']) {
|
|
$moduleCacheDir = $module->moduleCacheDir;
|
|
$lockFile = $moduleCacheDir . 'updateShop.lock';
|
|
if (!file_exists($lockFile)) {
|
|
if (!is_dir($moduleCacheDir)) {
|
|
mkdir($moduleCacheDir, 0777, true);
|
|
}
|
|
$f = fopen($lockFile, 'w+');
|
|
fclose($f);
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|