83 lines
2.2 KiB
PHP
83 lines
2.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/install/form/MaintenanceForm.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2003-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class MaintenanceForm
|
|
*
|
|
* @ingroup install_form
|
|
*
|
|
* @brief Base form for system maintenance (install/upgrade).
|
|
*/
|
|
|
|
namespace PKP\install\form;
|
|
|
|
use APP\template\TemplateManager;
|
|
use PKP\core\PKPRequest;
|
|
use PKP\form\Form;
|
|
use PKP\site\VersionCheck;
|
|
|
|
class MaintenanceForm extends Form
|
|
{
|
|
/** @var ?PKPRequest */
|
|
public $_request;
|
|
|
|
/**
|
|
* Constructor.
|
|
* @param ?PKPRequest $request
|
|
*/
|
|
public function __construct($request, $template)
|
|
{
|
|
parent::__construct($template);
|
|
$this->_request = $request;
|
|
$this->addCheck(new \PKP\form\validation\FormValidatorPost($this));
|
|
}
|
|
|
|
/**
|
|
* @copydoc Form::display
|
|
*
|
|
* @param ?PKPRequest $request
|
|
* @param ?string $template
|
|
*/
|
|
public function display($request = null, $template = null)
|
|
{
|
|
$templateMgr = TemplateManager::getManager($this->_request);
|
|
$templateMgr->assign('version', VersionCheck::getCurrentCodeVersion());
|
|
parent::display($request, $template);
|
|
}
|
|
|
|
/**
|
|
* Fail with a generic installation error.
|
|
*
|
|
* @param string $errorMsg
|
|
* @param bool $translate
|
|
*/
|
|
public function installError($errorMsg, $translate = true)
|
|
{
|
|
$templateMgr = TemplateManager::getManager($this->_request);
|
|
$templateMgr->assign(['isInstallError' => true, 'errorMsg' => $errorMsg, 'translateErrorMsg' => $translate]);
|
|
$this->display($this->_request);
|
|
}
|
|
|
|
/**
|
|
* Fail with a database installation error.
|
|
*
|
|
* @param string $errorMsg
|
|
*/
|
|
public function dbInstallError($errorMsg)
|
|
{
|
|
$templateMgr = TemplateManager::getManager($this->_request);
|
|
$templateMgr->assign(['isInstallError' => true, 'dbErrorMsg' => empty($errorMsg) ? __('common.error.databaseErrorUnknown') : $errorMsg]);
|
|
error_log($errorMsg);
|
|
$this->display($this->_request);
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\install\form\MaintenanceForm', '\MaintenanceForm');
|
|
}
|