]> _ Git - fluidbook-toolbox.git/commitdiff
wait #4216 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 26 Jul 2021 15:58:27 +0000 (17:58 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 26 Jul 2021 15:58:27 +0000 (17:58 +0200)
app/Http/Controllers/API/FluidbookThemeAPIController.php
app/Jobs/UpdateWS2ThemeTable.php
composer.lock
routes/api.php

index 47eeeae2f879f0116ff28f92cc7473e10d103064..58498d977d0d432fdfdf65a69c77044545bb2fbc 100644 (file)
@@ -14,19 +14,6 @@ use Spatie\MediaLibrary\MediaCollections\Models\Media;
 
 class FluidbookThemeAPIController extends Controller
 {
-    /**
-     * Store a newly created resource in storage.
-     *
-     * @param \Illuminate\Http\Request $request
-     * @return \Illuminate\Http\Response
-     */
-    public function createfromws2(Request $request)
-    {
-        $theme = new FluidbookTheme();
-        self::_prepareData($theme, $request->get('theme'));
-        $theme->save();
-        self::_handleFiles($theme, $request->get('theme'));
-    }
 
     /**
      * @param $theme FluidbookTheme
@@ -36,13 +23,13 @@ class FluidbookThemeAPIController extends Controller
     public static function _prepareData($theme, $data)
     {
         $map = ['theme_id' => 'id', 'proprietaire' => 'owner', 'nom' => 'name'];
-        foreach ($map as $former => $new) {
-            if (!isset($data[$former])) {
+        foreach ($data as $k => $v) {
+            if (isset($map[$k])) {
+                $k = $map[$k];
+            }
+            if (!$theme->hasField($k)) {
                 continue;
             }
-            $theme->setAttribute($new, $data[$former]);
-        }
-        foreach ($data['parametres'] as $k => $v) {
             $field = $theme->getField($k);
             if ($field instanceof Color) {
                 $v = FluidbookTheme::_colorToWS3($v);
@@ -62,51 +49,56 @@ class FluidbookThemeAPIController extends Controller
     public static function _handleFiles($theme, $data)
     {
         $oldRoot = '/home/extranet/www/fluidbook/themes/' . $theme->getAttribute('id') . '/';
-        foreach ($data['parametres'] as $k => $v) {
+        foreach ($data as $k => $v) {
+
+            if (!$theme->hasField($k)) {
+                continue;
+            }
             $field = $theme->getField($k);
-            if ($field instanceof Files) {
-                if (!$v) {
+            if (!($field instanceof Files)) {
+                continue;
+            }
+            if (!$v) {
+                continue;
+            }
+            $path = $oldRoot . $v;
+            if (!file_exists($path)) {
+                $opath = str_replace('.svg', '.o.svg', $path);
+                if (file_exists($opath)) {
+                    copy($opath, $path);
+                } else {
                     continue;
                 }
-                $path = $oldRoot . $v;
-                if (!file_exists($path)) {
-                    $opath = str_replace('.svg', '.o.svg', $path);
-                    if (file_exists($opath)) {
-                        copy($opath, $path);
-                    } else {
-                        continue;
-                    }
-                }
-                $media = $theme->getMediaInField($k);
-                $upload = false;
+            }
+            $media = $theme->getMediaInField($k);
+            $upload = false;
+
+            if ($media->count() === 0) {
+                $upload = true;
+            } else {
+                /** @var Media $m */
+                $m = $media->get(0);
 
-                if ($media->count() === 0) {
+                if ($m->getAttribute('file_name') !== $k) {
                     $upload = true;
                 } else {
-                    /** @var Media $m */
-                    $m = $media->get(0);
-
-                    if ($m->getAttribute('file_name') !== $k) {
+                    $mpath = $m->getPath();
+                    if (filesize($path) !== filesize($mpath)) {
                         $upload = true;
-                    } else {
-                        $mpath = $m->getPath();
-                        if (filesize($path) !== filesize($mpath)) {
-                            $upload = true;
-                        }
                     }
                 }
+            }
 
-                if (!$upload) {
-                    continue;
-                }
-                $s = storage_path('themes/' . $theme->getAttribute('id'));
-                if (!file_exists($s)) {
-                    mkdir($s);
-                }
-                $f = $s . '/' . $v;
-                copy($path, $f);
-                $theme->addMediaToField($k, $f);
+            if (!$upload) {
+                continue;
+            }
+            $s = storage_path('themes/' . $theme->getAttribute('id'));
+            if (!file_exists($s)) {
+                mkdir($s);
             }
+            $f = $s . '/' . $v;
+            copy($path, $f);
+            $theme->addMediaToField($k, $f);
         }
     }
 
@@ -121,9 +113,9 @@ class FluidbookThemeAPIController extends Controller
     public function updatefromws2(Request $request, $id)
     {
         $theme = FluidbookTheme::find($id);
-        self::_prepareData($theme, $request->get('theme'));
+        self::_prepareData($theme, $request->get('data'));
         $theme->save();
-        self::_handleFiles($theme, $request->get('theme'));
+        self::_handleFiles($theme, $request->get('data'));
     }
 
     public function clonefromws2(Request $request, $id)
index e8deb26f5cfaaa2ab160c3e49ad4c6c169c71eec..4fd7ce09058aff4ee82a98b43b33528432a2ab9e 100644 (file)
@@ -63,7 +63,7 @@ class UpdateWS2ThemeTable implements ShouldQueue
                 }
             }
         }
-        $this->_ignore = ['id', 'name', 'owner', 'created_at', 'deleted_at', 'updated_at', 'slug'];
+        $this->_ignore = ['id', 'name', 'owner', 'created_at', 'deleted_at', 'updated_at', 'slug', 'signature'];
 
         $data = [];
         $t = DB::table('extranet_clean.ws3_themes');
@@ -77,6 +77,7 @@ class UpdateWS2ThemeTable implements ShouldQueue
             $data[] = $this->_handleTheme($theme);
             $t->where('theme_id', '=', $this->id)->delete();
         }
+//        dd($data);
         $t->insert($data);
     }
 
@@ -132,7 +133,7 @@ class UpdateWS2ThemeTable implements ShouldQueue
             }
             $settings[$k] = $v;
         }
-        return ['theme_id' => $theme->id,'nom' => $theme->name, 'proprietaire' => $theme->owner, 'icones' => $theme->iconSet, 'date' => strtotime($theme->creation_date), 'parametres' => json_encode($settings)];
+        return ['theme_id' => $theme->id, 'nom' => $theme->name, 'proprietaire' => $theme->owner, 'icones' => $theme->iconSet, 'date' => strtotime($theme->creation_date), 'parametres' => json_encode($settings)];
     }
 
     public static function colorAlphaToWS2($data)
index 8db256415920f73f285a10017e911d69a84ebd62..2ff3d754c36a135e4ff6518023a80612cbf484bc 100644 (file)
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_cms-back.git",
-                "reference": "46fa9123056af8d528172189371ebdb69c75fb03"
+                "reference": "54c8540cac400905c3cbc585be5710c0080debd0"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-4c7b46.tar",
-                "reference": "46fa9123056af8d528172189371ebdb69c75fb03",
-                "shasum": "50f0e194a12665175e35ff18347c31f672dddc63"
+                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-aa504c.tar",
+                "reference": "54c8540cac400905c3cbc585be5710c0080debd0",
+                "shasum": "5902c29db26449bbabc6c3b934553acb967d4714"
             },
             "require": {
                 "backpack/backupmanager": "^2.0",
                 }
             ],
             "description": "Cubist Backpack extension",
-            "time": "2021-07-22T14:35:06+00:00"
+            "time": "2021-07-26T14:51:01+00:00"
         },
         {
             "name": "cubist/cms-front",
         },
         {
             "name": "monolog/monolog",
-            "version": "2.3.1",
+            "version": "2.3.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Seldaek/monolog.git",
-                "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe"
+                "reference": "71312564759a7db5b789296369c1a264efc43aad"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9738e495f288eec0b187e310b7cdbbb285777dbe",
-                "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe",
+                "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad",
+                "reference": "71312564759a7db5b789296369c1a264efc43aad",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/Seldaek/monolog/issues",
-                "source": "https://github.com/Seldaek/monolog/tree/2.3.1"
+                "source": "https://github.com/Seldaek/monolog/tree/2.3.2"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2021-07-14T11:56:39+00:00"
+            "time": "2021-07-23T07:42:52+00:00"
         },
         {
             "name": "myclabs/php-enum",
         },
         {
             "name": "composer/composer",
-            "version": "2.1.4",
+            "version": "2.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/composer/composer.git",
-                "reference": "5701b38ec6c66dd143658e6aa18e1808d2d5dc4b"
+                "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/composer/composer/zipball/5701b38ec6c66dd143658e6aa18e1808d2d5dc4b",
-                "reference": "5701b38ec6c66dd143658e6aa18e1808d2d5dc4b",
+                "url": "https://api.github.com/repos/composer/composer/zipball/ac679902e9f66b85a8f9d8c1c88180f609a8745d",
+                "reference": "ac679902e9f66b85a8f9d8c1c88180f609a8745d",
                 "shasum": ""
             },
             "require": {
             "support": {
                 "irc": "irc://irc.freenode.org/composer",
                 "issues": "https://github.com/composer/composer/issues",
-                "source": "https://github.com/composer/composer/tree/2.1.4"
+                "source": "https://github.com/composer/composer/tree/2.1.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2021-07-22T11:55:24+00:00"
+            "time": "2021-07-23T08:35:47+00:00"
         },
         {
             "name": "composer/metadata-minifier",
         },
         {
             "name": "phpunit/php-code-coverage",
-            "version": "7.0.14",
+            "version": "7.0.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "bb7c9a210c72e4709cdde67f8b7362f672f2225c"
+                "reference": "819f92bba8b001d4363065928088de22f25a3a48"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/bb7c9a210c72e4709cdde67f8b7362f672f2225c",
-                "reference": "bb7c9a210c72e4709cdde67f8b7362f672f2225c",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48",
+                "reference": "819f92bba8b001d4363065928088de22f25a3a48",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.2",
                 "phpunit/php-file-iterator": "^2.0.2",
                 "phpunit/php-text-template": "^1.2.1",
-                "phpunit/php-token-stream": "^3.1.1 || ^4.0",
+                "phpunit/php-token-stream": "^3.1.3 || ^4.0",
                 "sebastian/code-unit-reverse-lookup": "^1.0.1",
                 "sebastian/environment": "^4.2.2",
                 "sebastian/version": "^2.0.1",
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
-                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.14"
+                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2020-12-02T13:39:03+00:00"
+            "time": "2021-07-26T12:20:09+00:00"
         },
         {
             "name": "phpunit/php-file-iterator",
index 47bda1e65642dfd41bb1fbc7c76cd7ee41ebf476..9b424226303f5909ee413b8e90a707b162c0120d 100644 (file)
@@ -18,7 +18,6 @@ Route::group([
     'excluded_middleware' => ['verifycsrftoken']
 ], function () {
     Route::post('fluidbook-theme/{id}/clone', [\App\Http\Controllers\API\FluidbookThemeAPIController::class, 'clonefromws2']);
-    Route::post('fluidbook-theme', [\App\Http\Controllers\API\FluidbookThemeAPIController::class, 'createfromws2']);
     Route::put('fluidbook-theme/{id}', [\App\Http\Controllers\API\FluidbookThemeAPIController::class, 'updatefromws2']);
     Route::put('fluidbook-theme/{id}/rename', [\App\Http\Controllers\API\FluidbookThemeAPIController::class, 'renamefromws2']);
     Route::put('fluidbook-theme/{id}/uploadfile/{fieldname}', [\App\Http\Controllers\API\FluidbookThemeAPIController::class, 'uploadfile']);