diff --git a/classes/controller/FrontController.php b/classes/controller/FrontController.php index fee2d0924..3ad4f2e42 100644 --- a/classes/controller/FrontController.php +++ b/classes/controller/FrontController.php @@ -162,7 +162,7 @@ class FrontControllerCore extends Controller /* Theme is missing */ if (!is_dir(_PS_THEME_DIR_)) - die(sprintf(Tools::displayError('Current theme unavailable "%s". Please check your theme directory name and permissions.'), basename(rtrim(_PS_THEME_DIR_, '/\\')))); + throw new PrestaShopException((sprintf(Tools::displayError('Current theme unavailable "%s". Please check your theme directory name and permissions.'), basename(rtrim(_PS_THEME_DIR_, '/\\'))))); if (Configuration::get('PS_GEOLOCATION_ENABLED')) if (($newDefault = $this->geolocationManagement($this->context->country)) && Validate::isLoadedObject($newDefault)) diff --git a/config/config.inc.php b/config/config.inc.php index 2713c2a39..22d6f9ea3 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -93,14 +93,13 @@ $context = Context::getContext(); try { $context->shop = Shop::initialize(); - if (Tools::isEmpty($theme_name = $context->shop->getTheme()) || !file_exists(_PS_ALL_THEMES_DIR_.$theme_name)) - throw new PrestaShopException('No theme selected'); + if (Tools::isEmpty($theme_name = $context->shop->getTheme()) && !defined('_PS_ADMIN_DIR_')) + throw new PrestaShopException(Tools::displayError('Current theme unselected. Please check your theme configuration.')); } catch (PrestaShopException $e) { $e->displayMessage(); } - define('_THEME_NAME_', $theme_name); define('__PS_BASE_URI__', $context->shop->getBaseURI());