Files
le-matelot/core/lib/Thelia/Install/BaseInstall.php
2020-01-27 08:56:08 +01:00

51 lines
1.8 KiB
PHP

<?php
/*************************************************************************************/
/* This file is part of the Thelia package. */
/* */
/* Copyright (c) OpenStudio */
/* email : dev@thelia.net */
/* web : http://www.thelia.net */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************/
namespace Thelia\Install;
use Thelia\Install\Exception\AlreadyInstallException;
/**
* Class BaseInstall
*
* @author Manuel Raynaud <manu@raynaud.io>
*/
abstract class BaseInstall
{
/** @var bool If Installation wizard is launched by CLI */
protected $isConsoleMode = true;
/**
* Constructor
*
* @param bool $verifyInstall Verify if an installation already exists
*
* @throws Exception\AlreadyInstallException
*/
public function __construct($verifyInstall = true)
{
// Check if install wizard is launched via CLI
if (php_sapi_name() == 'cli') {
$this->isConsoleMode = true;
} else {
$this->isConsoleMode = false;
}
if (file_exists(THELIA_ROOT . '/local/config/database.yml') && $verifyInstall) {
throw new AlreadyInstallException("Thelia is already installed");
}
$this->exec();
}
abstract public function exec();
}