From 40148b3f0770fc8f7b30699d79d6e3fba76bb128 Mon Sep 17 00:00:00 2001 From: Maddy Chellathurai Date: Wed, 24 Dec 2014 09:39:57 -0600 Subject: [PATCH] MAGETWO-31850: [GITHUB] install.log can not be created with open_basedir restriction #796 - CR changes --- .../Magento/Setup/src/Controller/DatabaseCheck.php | 14 ++++++++++++-- .../Magento/Setup/src/Model/InstallerFactory.php | 5 +++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/setup/module/Magento/Setup/src/Controller/DatabaseCheck.php b/setup/module/Magento/Setup/src/Controller/DatabaseCheck.php index 4e7286c8d5b1d..4988c4ba13057 100644 --- a/setup/module/Magento/Setup/src/Controller/DatabaseCheck.php +++ b/setup/module/Magento/Setup/src/Controller/DatabaseCheck.php @@ -5,6 +5,7 @@ namespace Magento\Setup\Controller; use Magento\Setup\Model\InstallerFactory; +use Magento\Setup\Model\WebLogger; use Zend\Json\Json; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\JsonModel; @@ -18,14 +19,23 @@ class DatabaseCheck extends AbstractActionController */ private $installerFactory; + /** + * WebLogger to access log + * + * @var WebLogger + */ + private $webLogger; + /** * Constructor * * @param InstallerFactory $installerFactory + * @param WebLogger $webLogger */ - public function __construct(InstallerFactory $installerFactory) + public function __construct(InstallerFactory $installerFactory, WebLogger $webLogger) { $this->installerFactory = $installerFactory; + $this->webLogger = $webLogger; } /** @@ -37,7 +47,7 @@ public function indexAction() { $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY); try { - $installer = $this->installerFactory->create(); + $installer = $this->installerFactory->create($this->webLogger); $password = isset($params['password']) ? $params['password'] : ''; $installer->checkDatabaseConnection($params['name'], $params['host'], $params['user'], $password); return new JsonModel(['success' => true]); diff --git a/setup/module/Magento/Setup/src/Model/InstallerFactory.php b/setup/module/Magento/Setup/src/Model/InstallerFactory.php index b2fca6118b1a1..84b8b76bb0321 100644 --- a/setup/module/Magento/Setup/src/Model/InstallerFactory.php +++ b/setup/module/Magento/Setup/src/Model/InstallerFactory.php @@ -29,9 +29,10 @@ public function __construct(ServiceLocatorInterface $serviceLocator) /** * Factory method for installer object * + * @param LoggerInterface $log * @return Installer */ - public function create() + public function create(LoggerInterface $log) { return new Installer( $this->serviceLocator->get('Magento\Setup\Model\FilePermissions'), @@ -42,7 +43,7 @@ public function create() $this->serviceLocator->get('Magento\Framework\Module\ModuleList\Loader'), $this->serviceLocator->get('Magento\Framework\App\Filesystem\DirectoryList'), $this->serviceLocator->get('Magento\Setup\Model\AdminAccountFactory'), - new WebLogger($this->serviceLocator->get('Magento\Framework\Filesystem')), + $log, $this->serviceLocator->get('Magento\Framework\Math\Random'), $this->serviceLocator->get('Magento\Setup\Module\ConnectionFactory'), $this->serviceLocator->get('Magento\Framework\App\MaintenanceMode'),