]> _ Git - cubist_cms-back.git/commitdiff
wip #4623 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 27 Jul 2021 10:28:53 +0000 (12:28 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 27 Jul 2021 10:28:53 +0000 (12:28 +0200)
src/app/Magic/Models/CubistMagicTranslatableModel.php
src/app/Magic/Models/Translate.php

index a960bff00d131aee943a9490132c27b6e117a558..2954ce3034c9dc8e7b9a826eb965cbace718bc5c 100644 (file)
@@ -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;
+        }
+    }
+
 }
index 439f9fc8c28ba501656821d2f3daced06e09bf99..12e8b7305f8598c8d86bbd9cee2d1a9d701f531e 100644 (file)
@@ -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';
     }
 }