PHP 8.2.30
Preview: _bootstrap.php Size: 6.11 KB
/var/softaculous/presta8/_bootstrap.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 Open Software License (OSL 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/OSL-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.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */

use PrestaShop\PrestaShop\Adapter\ServiceLocator;
use PrestaShop\PrestaShop\Core\ContainerBuilder;
use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
use Symfony\Component\Yaml\Yaml;

$container_builder = new ContainerBuilder();
$legacyContainer = $container_builder->build();
ServiceLocator::setServiceContainerInstance($legacyContainer);

if (!file_exists(_PS_CACHE_DIR_)) {
    @mkdir(_PS_CACHE_DIR_);
    $warmer = new CacheWarmerAggregate([
        new PrestaShopBundle\Cache\LocalizationWarmer(_PS_VERSION_, 'en'), //@replace hard-coded Lang
    ]);
    $warmer->warmUp(_PS_CACHE_DIR_);
}

$configDirectory = __DIR__. '/../app/config';
$phpParametersFilepath = $configDirectory . '/parameters.php';
$yamlParametersFilepath = $configDirectory . '/parameters.yml';

$filesystem = new Filesystem();

$exportPhpConfigFile = function ($config, $destination) use ($filesystem) {
    try {
        $filesystem->dumpFile($destination, '<?php return '.var_export($config, true).';'."\n");
    } catch (IOException $e) {
        return false;
    }

    return true;
};

// Bootstrap an application with parameters.yml, which has been installed before PHP parameters file support
if (!file_exists($phpParametersFilepath) && file_exists($yamlParametersFilepath)) {
    $parameters = Yaml::parseFile($yamlParametersFilepath);
    if ($exportPhpConfigFile($parameters, $phpParametersFilepath)) {
        $filesystem->dumpFile($yamlParametersFilepath, 'parameters:' . "\n");
    }
}

$lastParametersModificationTime = (int)@filemtime($phpParametersFilepath);

if ($lastParametersModificationTime) {
    $cachedParameters = _PS_CACHE_DIR_. 'appParameters.php';

    $lastParametersCacheModificationTime = (int)@filemtime($cachedParameters);
    if (!$lastParametersCacheModificationTime || $lastParametersCacheModificationTime < $lastParametersModificationTime) {
        // When parameters file is available, update its cache if it is stale.
        if (file_exists($phpParametersFilepath)) {
            $config = require $phpParametersFilepath;
            $exportPhpConfigFile($config, $cachedParameters);
        } elseif (file_exists($yamlParametersFilepath)) {
            $config = Yaml::parseFile($yamlParametersFilepath);
            $exportPhpConfigFile($config, $cachedParameters);
        }
    }

    $config = require_once _PS_CACHE_DIR_ . 'appParameters.php';
    array_walk($config['parameters'], function (&$param) {
        $param = str_replace('%%', '%', $param ?? '');
    });

    $database_host = $config['parameters']['database_host'];

    if (!empty($config['parameters']['database_port'])) {
        $database_host .= ':'. $config['parameters']['database_port'];
    }

    define('_DB_SERVER_', $database_host);
    if (defined('_PS_IN_TEST_')) {
        define('_DB_NAME_', 'test_'.$config['parameters']['database_name']);
    } else {
        define('_DB_NAME_', $config['parameters']['database_name']);
    }

    define('_DB_USER_', $config['parameters']['database_user']);
    define('_DB_PASSWD_', $config['parameters']['database_password']);
    define('_DB_PREFIX_',  $config['parameters']['database_prefix']);
    define('_MYSQL_ENGINE_',  $config['parameters']['database_engine']);
    define('_PS_CACHING_SYSTEM_',  $config['parameters']['ps_caching']);

    if (!defined('PS_IN_UPGRADE') && !defined('_PS_IN_TEST_')) {
        define('_PS_CACHE_ENABLED_', $config['parameters']['ps_cache_enable']);
    } else {
        define('_PS_CACHE_ENABLED_', 0);
        $config['parameters']['ps_cache_enable'] = 0;
    }

    // Legacy cookie
    if (array_key_exists('cookie_key', $config['parameters'])) {
        define('_COOKIE_KEY_', $config['parameters']['cookie_key']);
    } else {
        // Define cookie key if missing to prevent failure in composer post-install script
        define('_COOKIE_KEY_', Tools::passwdGen(56));
    }

    if (array_key_exists('cookie_iv', $config['parameters'])) {
        define('_COOKIE_IV_', $config['parameters']['cookie_iv']);
    } else {
        // Define cookie IV if missing to prevent failure in composer post-install script
        define('_COOKIE_IV_', Tools::passwdGen(32));
    }

    // New cookie
    if (array_key_exists('new_cookie_key', $config['parameters'])) {
        define('_NEW_COOKIE_KEY_', $config['parameters']['new_cookie_key']);
    } else {
        // Define cookie key if missing to prevent failure in composer post-install script
        $key = PhpEncryption::createNewRandomKey();
	echo '<new_cookie_key>'.$key.'</new_cookie_key>';
	@unlink($cachedParameters);
        define('_NEW_COOKIE_KEY_', $key);
    }

    define('_PS_CREATION_DATE_', $config['parameters']['ps_creation_date']);

    if (isset($config['parameters']['_rijndael_key'], $config['parameters']['_rijndael_iv'])) {
        define('_RIJNDAEL_KEY_', $config['parameters']['_rijndael_key']);
        define('_RIJNDAEL_IV_', $config['parameters']['_rijndael_iv']);
    }
} elseif (file_exists(_PS_ROOT_DIR_.'/config/settings.inc.php')) {
    require_once _PS_ROOT_DIR_.'/config/settings.inc.php';
}

Directory Contents

Dirs: 6 × Files: 30

Name Size Perms Modified Actions
images DIR
- drwxr-xr-x 2026-03-24 21:03:50
Edit Download
php53 DIR
- drwxr-xr-x 2026-03-24 21:03:49
Edit Download
php56 DIR
- drwxr-xr-x 2026-03-24 21:03:50
Edit Download
php71 DIR
- drwxr-xr-x 2026-03-24 21:03:50
Edit Download
php81 DIR
- drwxr-xr-x 2026-03-24 21:03:49
Edit Download
php82 DIR
- drwxr-xr-x 2026-03-24 21:03:49
Edit Download
3.15 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
6.03 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
6.87 KB lrw-r--r-- 2026-03-24 11:01:36
Edit Download
22.82 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
6.16 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
4.96 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
447 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
8.48 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
383 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
6.60 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
4.55 KB lrw-r--r-- 2026-03-24 11:01:36
Edit Download
1.12 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
19.24 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
1.51 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
2.30 KB lrw-r--r-- 2026-03-24 12:28:54
Edit Download
56.92 KB lrw-r--r-- 2025-07-29 11:15:08
Edit Download
2.40 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
56.13 KB lrw-r--r-- 2025-07-29 11:15:08
Edit Download
826 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
11 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
638.22 KB lrw-r--r-- 2026-03-24 11:01:36
Edit Download
93.35 MB lrw-r--r-- 2026-03-24 11:01:36
Edit Download
43.86 KB lrw-r--r-- 2025-07-29 11:15:08
Edit Download
3.23 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
23 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
3.01 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
3.08 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download
544 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
497 B lrw-r--r-- 2025-06-27 11:29:58
Edit Download
6.11 KB lrw-r--r-- 2025-06-27 11:29:58
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).