]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6248
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 6 Sep 2023 14:31:28 +0000 (16:31 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 6 Sep 2023 14:31:28 +0000 (16:31 +0200)
app/Models/ElearningTranslate.php [deleted file]

diff --git a/app/Models/ElearningTranslate.php b/app/Models/ElearningTranslate.php
deleted file mode 100644 (file)
index 42b3a72..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-
-namespace App\Models;
-
-use App\Fields\NSISLocale;
-use App\Http\Controllers\Admin\Base\FluidbookTranslateController;
-use App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelExportOperation;
-use App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelImportOperation;
-use App\Models\Traits\FluidbookPlayerBranches;
-use Cubist\Backpack\Facades\App;
-use Cubist\Backpack\Magic\Models\Translate;
-use Cubist\Util\PHP;
-use Illuminate\Support\Facades\Cache;
-
-// __('!!Traduction des contenus e-learning')
-class ElearningTranslate extends Translate{
-
-    protected $table = 'elearning_translate';
-
-    protected static $_allTranslations = null;
-
-    protected $_enableRevisions = false;
-
-    protected $_options = ['name' => 'elearning-translate',
-        'singular' => 'traduction',
-        'plural' => 'traductions',
-        'oneinstance' => true];
-
-    protected $_operations = [ExcelExportOperation::class, ExcelImportOperation::class];
-
-
-    public function __construct(array $attributes = [])
-    {
-        PHP::neverStop();
-
-        $this->_availableLocales = \Cubist\Locale\Locale::getList(App::getLocale());
-        $this->addEditAction('fluidbook_translate.excel_export');
-        $this->addEditAction('fluidbook_translate.excel_import');
-
-        parent::__construct($attributes);
-    }
-
-    public function setFields()
-    {
-        //$this->addField(['name' => 'nsis', 'type' => NSISLocale::class, 'label' => __('Langue de l\'installeur') . ' (' . __('Version offline windows') . ')', 'translatable' => true, 'default' => 'English']);
-        parent::setFields();
-    }
-
-    public function getPaths()
-    {
-        $res = [];
-        foreach (self::getActiveBranches() as $branch) {
-            $res['Player - git:' . $branch] = 'resources/fluidbookpublication/player/branches/' . $branch . '/js';
-            $res['Player - local:' . $branch] = 'resources/fluidbookpublication/player/local/' . $branch . '/js';
-        }
-        //$res[__('Compilateur')]='resources/compiler';
-        //$res[__('Application')]=''resources/html5app';
-        return $res;
-    }
-
-    public function getExtensions()
-    {
-        return array_merge(parent::getExtensions(), ['js']);
-    }
-
-    protected function _getLanguageFile($locale)
-    {
-        return self::getLanguageFile($locale);
-    }
-
-    public static function getLanguageFile($locale)
-    {
-        return resource_path('lang/elearning.' . $locale . '.json');
-    }
-
-    public static function getAllElearningTranslations($force = false)
-    {
-        if (null === self::$_allTranslations) {
-            $cacheKey = 'all_elearning_translations';
-            if ($force) {
-                Cache::forget($cacheKey);
-            }
-            self::$_allTranslations = Cache::remember($cacheKey, 3600, function () {
-                start_measure('Get all elearning translations !');
-                $t = ElearningTranslate::find(1);
-                try {
-                    $json = json_decode($t->getRawOriginal('content_translatable'), true, 512, JSON_THROW_ON_ERROR);
-                } catch (\Exception $e) {
-                    $json = [];
-                }
-
-                $res = [];
-
-                foreach ($json as $code => $tr) {
-                    $res[$code] = [];
-                    foreach ($tr as $k => $v) {
-                        $res[$code][$k] = ['str' => self::keyToStr($k), 'translation' => $v];
-                    }
-                }
-                stop_measure('Get all fluidbook translations !');
-                return $res;
-
-            });
-        }
-        return self::$_allTranslations;
-    }
-
-    public static function getCompiledTranslations()
-    {
-        $raw = self::getAllElearningTranslations();
-        $res = [];
-        foreach ($raw as $code => $data) {
-            $res[$code] = [];
-            foreach ($data as $k => $v) {
-                if (is_string($v)) {
-                    $res[$code][$k] = $v;
-                } else {
-                    $res[$code][$v['str']] = $v['translation'];
-                }
-            }
-        }
-        return $res;
-    }
-
-    /**
-     * @throws \JsonException
-     */
-    public static function updateElearningTranslation($locale, $translations)
-    {
-        /** @var FluidbookTranslate $t */
-        $t = self::find(1);
-        $json = json_decode($t->getRawOriginal('content_translatable'), true, 512, JSON_THROW_ON_ERROR);
-        foreach ($translations as $k => $v) {
-            $json[$locale][$k] = $v;
-        }
-        $t->setRawAttributes(['content_translatable' => json_encode($json, JSON_THROW_ON_ERROR)]);
-        $t->save();
-    }
-
-    /**
-     * @param string $locale
-     * @return array[]|null
-     * @throws \JsonException
-     */
-    public static function getElearningTranslation($locale)
-    {
-        $all = self::getAllFluidbookTranslations();
-        $res = $all[$locale] ?? null;
-        return $res;
-    }
-
-
-}