getUser()->isAdmin()) { throw new Forbidden(); } } public function postActionRebuild($params, $data, $request) { if (!$request->isPost()) { throw new BadRequest(); } $result = $this->getContainer()->get('dataManager')->rebuild(); return $result; } public function postActionClearCache($params, $data) { $result = $this->getContainer()->get('dataManager')->clearCache(); return $result; } public function actionJobs() { $scheduledJob = $this->getContainer()->get('scheduledJob'); return $scheduledJob->getAllNamesOnly(); } public function postActionUploadUpgradePackage($params, $data) { if ($this->getConfig()->get('restrictedMode')) { if (!$this->getUser()->get('isSuperAdmin')) { throw new Forbidden(); } } $upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer()); $upgradeId = $upgradeManager->upload($data); $manifest = $upgradeManager->getManifest(); return array( 'id' => $upgradeId, 'version' => $manifest['version'], ); } public function postActionRunUpgrade($params, $data) { if ($this->getConfig()->get('restrictedMode')) { if (!$this->getUser()->get('isSuperAdmin')) { throw new Forbidden(); } } $upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer()); $upgradeManager->install($data); return true; } public function actionCronMessage($params, $data) { return $this->getContainer()->get('scheduledJob')->getSetupMessage(); } }