From: Vincent Vanwaelscappel Date: Tue, 27 Jul 2021 10:28:53 +0000 (+0200) Subject: wip #4623 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=d02ad168137e7b768e085cc117a07b3389c84037;p=cubist_cms-back.git wip #4623 @1 --- diff --git a/src/app/Magic/Models/CubistMagicTranslatableModel.php b/src/app/Magic/Models/CubistMagicTranslatableModel.php index a960bff..2954ce3 100644 --- a/src/app/Magic/Models/CubistMagicTranslatableModel.php +++ b/src/app/Magic/Models/CubistMagicTranslatableModel.php @@ -16,6 +16,7 @@ class CubistMagicTranslatableModel extends CubistMagicAbstractModel use HasTranslations { update as protected updateTranslations; create as protected createTranslations; + getAvailableLocales as protected getAvailableLocalesTranslations; } /** @@ -23,6 +24,11 @@ class CubistMagicTranslatableModel extends CubistMagicAbstractModel */ protected $translatable = []; + /** + * @var string|array + */ + protected $_availableLocales = 'backpack'; + public function postSetFields() { parent::postSetFields(); @@ -147,4 +153,13 @@ class CubistMagicTranslatableModel extends CubistMagicAbstractModel return $this->createTranslations($this->_prepareData($attributes)); } + public function getAvailableLocales() + { + if ($this->_availableLocales === 'backpack') { + return $this->getAvailableLocalesTranslations(); + } else if (is_array($this->_availableLocales)) { + return $this->_availableLocales; + } + } + } diff --git a/src/app/Magic/Models/Translate.php b/src/app/Magic/Models/Translate.php index 439f9fc..12e8b73 100644 --- a/src/app/Magic/Models/Translate.php +++ b/src/app/Magic/Models/Translate.php @@ -66,16 +66,11 @@ class Translate extends CubistMagicTranslatableModel parent::onBeforeUpdate($controller, $request); // TODO: Change the autogenerated stub } - public function onBeforeStore($controller, $request) - { - - parent::onBeforeStore($controller, $request); // TODO: Change the autogenerated stub - } - public function onAfterSave() + public function postSave() { $this->saveLanguageFile(); - parent::onAfterSave(); + parent::postSave(); } @@ -93,6 +88,11 @@ class Translate extends CubistMagicTranslatableModel $translations[$key] = $content; } - file_put_contents(base_path() . '/resources/lang/' . $locale . '.json', json_encode($translations)); + file_put_contents($this->_getLanguageFile($locale), json_encode($translations)); + } + + protected function _getLanguageFile($locale) + { + return base_path() . '/resources/lang/' . $locale . '.json'; } }