* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\System; use PrestaShop\PrestaShop\Adapter\Hosting\HostingInformation; use PrestaShop\PrestaShop\Adapter\Mail\MailingInformation; use PrestaShop\PrestaShop\Adapter\Shop\ShopInformation; /** * Provides a summary of system information. */ class SystemInformation { /** * @var HostingInformation */ private $hostingInformation; /** * @var MailingInformation */ private $mailingInformation; /** * @var ShopInformation */ private $shopInformation; public function __construct( HostingInformation $hostingInformation, MailingInformation $mailingInformation, ShopInformation $shopInformation ) { $this->hostingInformation = $hostingInformation; $this->mailingInformation = $mailingInformation; $this->shopInformation = $shopInformation; } /** * @return array */ public function getSummary() { return [ 'server' => $this->hostingInformation->getServerInformation(), 'instaWebInstalled' => $this->hostingInformation->isApacheInstawebModule(), 'uname' => $this->hostingInformation->getUname(), 'database' => $this->hostingInformation->getDatabaseInformation(), 'overrides' => $this->shopInformation->getOverridesList(), 'shop' => $this->shopInformation->getShopInformation(), 'isNativePHPmail' => $this->mailingInformation->isNativeMailUsed(), 'smtp' => $this->mailingInformation->getSmtpInformation(), ]; } }