From: Vincent Vanwaelscappel Date: Mon, 8 Jul 2019 16:16:02 +0000 (+0200) Subject: #2868 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=840748080c8a477550a50177e10bbb2e4b8572ba;p=cubist_cms-back.git #2868 --- diff --git a/src/app/Magic/Models/Translate.php b/src/app/Magic/Models/Translate.php index 9ce01ea..379c61f 100644 --- a/src/app/Magic/Models/Translate.php +++ b/src/app/Magic/Models/Translate.php @@ -44,4 +44,40 @@ class Translate extends CubistMagicModel 'fake' => true]); } } + + /** + * @param \Cubist\Backpack\app\Magic\Controllers\CubistMagicController $controller + * @param \Cubist\Backpack\app\Magic\Requests\CubistMagicUpdateRequest $request + */ + public function onBeforeUpdate($controller, $request) + { + $this->saveLanguageFile($controller, $request); + parent::onBeforeUpdate($controller, $request); // TODO: Change the autogenerated stub + } + + /** + * @param \Cubist\Backpack\app\Magic\Controllers\CubistMagicController $controller + * @param \Cubist\Backpack\app\Magic\Requests\CubistMagicUpdateRequest $request + */ + public function saveLanguageFile($controller, $request) + { + $exclude = ['_token', '_method', 'http_referrer', 'locale', 'slug', 'id', 'k', 'save_action']; + + $translations = []; + $all = $request->all(); + $locale = $all['locale']; + foreach ($all as $field => $content) { + if ($content == '') { + continue; + } + if (in_array($field, $exclude)) { + continue; + } + + $key = base64_decode(substr($field, 2)); + $translations[$key] = $content; + } + + file_put_contents(base_path() . '/resources/lang/' . $locale . '.json', json_encode($translations)); + } }