From 794f79590f6e41f4e3803210d39aa83aa6d45341 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 26 Jul 2021 17:58:27 +0200 Subject: [PATCH] wait #4216 @0.5 --- .../API/FluidbookThemeAPIController.php | 100 ++++++++---------- app/Jobs/UpdateWS2ThemeTable.php | 5 +- composer.lock | 48 ++++----- routes/api.php | 1 - 4 files changed, 73 insertions(+), 81 deletions(-) diff --git a/app/Http/Controllers/API/FluidbookThemeAPIController.php b/app/Http/Controllers/API/FluidbookThemeAPIController.php index 47eeeae2f..58498d977 100644 --- a/app/Http/Controllers/API/FluidbookThemeAPIController.php +++ b/app/Http/Controllers/API/FluidbookThemeAPIController.php @@ -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) diff --git a/app/Jobs/UpdateWS2ThemeTable.php b/app/Jobs/UpdateWS2ThemeTable.php index e8deb26f5..4fd7ce090 100644 --- a/app/Jobs/UpdateWS2ThemeTable.php +++ b/app/Jobs/UpdateWS2ThemeTable.php @@ -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) diff --git a/composer.lock b/composer.lock index 8db256415..2ff3d754c 100644 --- a/composer.lock +++ b/composer.lock @@ -1318,13 +1318,13 @@ "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", @@ -1399,7 +1399,7 @@ } ], "description": "Cubist Backpack extension", - "time": "2021-07-22T14:35:06+00:00" + "time": "2021-07-26T14:51:01+00:00" }, { "name": "cubist/cms-front", @@ -4688,16 +4688,16 @@ }, { "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": { @@ -4768,7 +4768,7 @@ ], "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": [ { @@ -4780,7 +4780,7 @@ "type": "tidelift" } ], - "time": "2021-07-14T11:56:39+00:00" + "time": "2021-07-23T07:42:52+00:00" }, { "name": "myclabs/php-enum", @@ -9887,16 +9887,16 @@ }, { "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": { @@ -9965,7 +9965,7 @@ "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": [ { @@ -9981,7 +9981,7 @@ "type": "tidelift" } ], - "time": "2021-07-22T11:55:24+00:00" + "time": "2021-07-23T08:35:47+00:00" }, { "name": "composer/metadata-minifier", @@ -11466,16 +11466,16 @@ }, { "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": { @@ -11484,7 +11484,7 @@ "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", @@ -11527,7 +11527,7 @@ ], "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": [ { @@ -11535,7 +11535,7 @@ "type": "github" } ], - "time": "2020-12-02T13:39:03+00:00" + "time": "2021-07-26T12:20:09+00:00" }, { "name": "phpunit/php-file-iterator", diff --git a/routes/api.php b/routes/api.php index 47bda1e65..9b4242263 100644 --- a/routes/api.php +++ b/routes/api.php @@ -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']); -- 2.39.5