'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));
+ }
}