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
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);
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);
}
}
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)
}
}
}
- $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');
$data[] = $this->_handleTheme($theme);
$t->where('theme_id', '=', $this->id)->delete();
}
+// dd($data);
$t->insert($data);
}
}
$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)
"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",
'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']);