validate(null, $request); $this->setupTemplate($request); if (($setLocale = $request->getUserVar('setLocale')) != null && Locale::isLocaleValid($setLocale)) { $request->setCookieVar('currentLocale', $setLocale); } $templateMgr = TemplateManager::getManager($request); $templateMgr->assign([ 'pageTitle' => __('installer.appInstallation'), ]); $installForm = new InstallForm($request); $installForm->initData(); $installForm->display($request); } /** * Redirect to index if system has already been installed. * * @param PKPRequest $request * @param null|mixed $requiredContexts */ public function validate($requiredContexts = null, $request = null) { if (Application::isInstalled()) { $request->redirect(null, 'index'); } } /** * Execute installer. * * @param array $args * @param PKPRequest $request */ public function install($args, $request) { $this->validate(null, $request); $this->setupTemplate($request); $templateMgr = TemplateManager::getManager($request); $installForm = new InstallForm($request); $installForm->readInputData(); if ($installForm->validate()) { $templateMgr->assign([ 'pageTitle' => __('installer.installationComplete'), ]); $installForm->execute(); } else { $templateMgr->assign([ 'pageTitle' => __('installer.appInstallation'), ]); $errors = $installForm->getErrorsArray(); $error = array_shift($errors); $installForm->installError($error, false); } } /** * Display upgrade form. * * @param array $args * @param PKPRequest $request */ public function upgrade($args, $request) { $this->validate(null, $request); $this->setupTemplate($request); if (($setLocale = $request->getUserVar('setLocale')) != null && Locale::isLocaleValid($setLocale)) { $request->setCookieVar('currentLocale', $setLocale); } $templateMgr = TemplateManager::getManager($request); $templateMgr->assign([ 'pageTitle' => __('installer.upgradeApplication'), ]); $installForm = new UpgradeForm($request); $installForm->initData(); $installForm->display($request); } /** * Execute upgrade. * * @param array $args * @param PKPRequest $request */ public function installUpgrade($args, $request) { $this->validate(null, $request); $this->setupTemplate($request); $templateMgr = TemplateManager::getManager($request); $templateMgr->assign([ 'pageTitle' => __('installer.upgradeApplication'), ]); $installForm = new UpgradeForm($request); $installForm->readInputData(); if ($installForm->validate()) { $installForm->execute(); } else { $installForm->display($request); } } }