Open Monograph Press  3.3.0
InstallHandler.inc.php
1 <?php
2 
16 import('lib.pkp.classes.install.form.InstallForm');
17 import('lib.pkp.classes.install.form.UpgradeForm');
18 import('classes.handler.Handler');
19 
20 class InstallHandler extends Handler {
21 
23  var $_isBackendPage = true;
24 
31  function index($args, $request) {
32  // Make sure errors are displayed to the browser during install.
33  @ini_set('display_errors', true);
34 
35  $this->validate(null, $request);
36  $this->setupTemplate($request);
37 
38  if (($setLocale = $request->getUserVar('setLocale')) != null && AppLocale::isLocaleValid($setLocale)) {
39  $request->setCookieVar('currentLocale', $setLocale);
40  }
41 
42  $templateMgr = TemplateManager::getManager($request);
43  $templateMgr->assign([
44  'pageTitle' => __('installer.appInstallation'),
45  ]);
46 
47  $installForm = new InstallForm($request);
48  $installForm->initData();
49  $installForm->display($request);
50  }
51 
56  function validate($requiredContexts = null, $request = null) {
57  if (Config::getVar('general', 'installed')) {
58  $request->redirect(null, 'index');
59  }
60  }
61 
67  function install($args, $request) {
68  $this->validate(null, $request);
69  $this->setupTemplate($request);
70  $templateMgr = TemplateManager::getManager($request);
71 
72  $installForm = new InstallForm($request);
73  $installForm->readInputData();
74 
75  if ($installForm->validate()) {
76  $templateMgr->assign([
77  'pageTitle' => __('installer.installationComplete'),
78  ]);
79  $installForm->execute();
80  } else {
81  $templateMgr->assign([
82  'pageTitle' => __('installer.appInstallation'),
83  ]);
84  $errors = $installForm->getErrorsArray();
85  $error = array_shift($errors);
86  $installForm->installError($error, false);
87  }
88  }
89 
95  function upgrade($args, $request) {
96  $this->validate(null, $request);
97  $this->setupTemplate($request);
98 
99  if (($setLocale = $request->getUserVar('setLocale')) != null && AppLocale::isLocaleValid($setLocale)) {
100  $request->setCookieVar('currentLocale', $setLocale);
101  }
102 
103  $templateMgr = TemplateManager::getManager($request);
104  $templateMgr->assign([
105  'pageTitle' => __('installer.upgradeApplication'),
106  ]);
107 
108  $installForm = new UpgradeForm($request);
109  $installForm->initData();
110  $installForm->display($request);
111  }
112 
118  function installUpgrade($args, $request) {
119  $this->validate(null, $request);
120  $this->setupTemplate($request);
121  $templateMgr = TemplateManager::getManager($request);
122  $templateMgr->assign([
123  'pageTitle' => __('installer.upgradeApplication'),
124  ]);
125 
126  $installForm = new UpgradeForm($request);
127  $installForm->readInputData();
128 
129  if ($installForm->validate()) {
130  $installForm->execute();
131  } else {
132  $installForm->display($request);
133  }
134  }
135 
140  function setupTemplate($request) {
141  parent::setupTemplate($request);
142  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_INSTALLER);
143  }
144 }
145 
146 
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
InstallHandler\upgrade
upgrade($args, $request)
Definition: InstallHandler.inc.php:95
InstallHandler\$_isBackendPage
$_isBackendPage
Definition: InstallHandler.inc.php:23
InstallHandler
Handle installation requests.
Definition: InstallHandler.inc.php:20
InstallHandler\installUpgrade
installUpgrade($args, $request)
Definition: InstallHandler.inc.php:118
InstallHandler\index
index($args, $request)
Definition: InstallHandler.inc.php:31
InstallHandler\install
install($args, $request)
Definition: InstallHandler.inc.php:67
Config\getVar
static getVar($section, $key, $default=null)
Definition: Config.inc.php:35
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
InstallHandler\validate
validate($requiredContexts=null, $request=null)
Definition: InstallHandler.inc.php:56
InstallForm
Form for system installation.
Definition: InstallForm.inc.php:20
UpgradeForm
Form for system upgrades.
Definition: UpgradeForm.inc.php:19
InstallHandler\setupTemplate
setupTemplate($request)
Definition: InstallHandler.inc.php:140
Handler
Base request handler application class.
Definition: Handler.inc.php:18
PKPLocale\isLocaleValid
static isLocaleValid($locale)
Definition: PKPLocale.inc.php:505