release; } /** * {@inheritdoc} */ public function getDoctrineMigrations() { return []; } /** * {@inheritdoc} */ public function require_all_upgrades() { return false; } /** * {@inheritdoc} */ public function concern() { return $this->concern; } /** * {@inheritdoc} */ public function apply(base $base, Application $app) { if ($base->get_base_type() === base::DATA_BOX) { $this->patch_databox($base, $app); } elseif ($base->get_base_type() === base::APPLICATION_BOX) { $this->patch_appbox($base, $app); } return true; } private function patch_databox(databox $databox, Application $app) { } private function patch_appbox(base $appbox, Application $app) { /** @var PropertyAccess $conf */ $conf = $app['conf']; if (!$conf->has(['translator'])) { try { // retrive value for the old conf file if possible $config_file = ($config_dir = $app['root.path'] . "/config/translator/") . "configuration.yml"; if (!file_exists($config_file)) { throw new Exception("file not found"); } $config_file = file_get_contents($config_file); if ( $config_file == false) { throw new Exception("can not get file content"); } // throw ParseException if not a valid yaml $oldConf = Yaml::parse($config_file); $conf->set(['translator'], $oldConf['translator']); } catch (\Exception $e) { // if missing configuration $conf->set(['translator'], ['jobs' => ['keywords' => []]]); } catch(\Throwable $e) { $conf->set(['translator'], ['jobs' => ['keywords' => []]]); } } } }