trait ImportFluidbookSettings
{
use SettingsExportOperation;
- public function importfluidbooksettings() {
+
+ public function importfluidbooksettings()
+ {
$form = new Form(backpack_url('tools/doimportfluidbooksettings'));
$form->setTitle(__('Importer les paramètres fluidbook'));
$form->setEnctype('multipart/form-data');
/**
* @throws \JsonException
*/
- public function doimportfluidbooksettings() {
+ public function doimportfluidbooksettings()
+ {
if (!can('fluidbook-publication:admin')) {
abort('403');
}
$file = request()->file('file');
ExcelToArray::setCache(protected_path('tools/importfluidbooksettings'));
- $res = ExcelToArray::excelToArrayKeyVars($file->getPathname(),null, false, false, false);
+ $res = ExcelToArray::excelToArrayKeyVars($file->getPathname(), null, false, false, false);
//
$ids = array_keys($res);
return redirect()->back()->with('error', 'Fluidbook id not found');
}
- $settings = array_map(function($n) {
+ $settings = array_map(function ($n) {
return $n;
- },json_decode($f->settings, true));
+ }, json_decode($f->settings, true));
- $sett = array_filter($res[$id], function($v, $k) use($settings){
- return array_key_exists($k,$settings);
+ $sett = array_filter($res[$id], function ($v, $k) use ($settings) {
+ return array_key_exists($k, $settings);
}, ARRAY_FILTER_USE_BOTH);
- $settingsJson = json_encode($sett);
$diff = array_diff_key($res[$id], $settings);
- $diff['settings'] = $settingsJson;
+ $diff['settings'] = array_merge(json_decode($f->settings, true), $sett);
/*
*
*
* */
foreach ($diff as $k => &$value) {
- if(!in_array($k, ['export_data','settings'])) {
- $decode = json_decode($value,true);
- if(is_array($decode)) {
+ if (!in_array($k, ['export_data', 'settings'])) {
+ $decode = json_decode($value, true);
+ if (is_array($decode)) {
$value = $decode;
}
}
- if(array_key_exists($k, $fields)) {
- if($fields[$k]->getDatabaseType() === "boolean") {
+ if (array_key_exists($k, $fields)) {
+ if ($fields[$k]->getDatabaseType() === "boolean") {
$value = (bool)$value;
}
}