use Cubist\Backpack\Magic\Fields\StandardFile;
use Cubist\Backpack\Magic\Form;
use Cubist\Excel\ExcelToArray;
+use Cubist\Util\ArrayUtil;
use Illuminate\Support\Facades\Date;
use Prologue\Alerts\Facades\Alert;
$fields = $instance->getFields();
foreach ($ids as $id) {
- try {
- $f = FluidbookPublication::find($id);
- } catch (\Exception $e) {
- return redirect()->back()->with('error', 'Fluidbook id not found');
- }
+ $e = ArrayUtil::parseRange($id);
+ foreach ($e as $i) {
+ $i = trim($i);
+
+ try {
+ $f = FluidbookPublication::find($i);
+ } catch (\Exception $e) {
+ return redirect()->back()->with('error', 'Fluidbook id not found');
+ }
- $settings = array_map(function ($n) {
- return $n;
- }, json_decode($f->settings, true));
+ $settings = array_map(function ($n) {
+ return $n;
+ }, json_decode($f->settings, true));
- $sett = array_filter($res[$id], function ($v, $k) use ($settings) {
- return array_key_exists($k, $settings);
- }, ARRAY_FILTER_USE_BOTH);
+ $sett = array_filter($res[$id], function ($v, $k) use ($settings) {
+ return array_key_exists($k, $settings);
+ }, ARRAY_FILTER_USE_BOTH);
- $diff = array_diff_key($res[$id], $settings);
- $diff['settings'] = array_merge(json_decode($f->settings, true), $sett);
+ $diff = array_diff_key($res[$id], $settings);
+ $diff['settings'] = array_merge(json_decode($f->settings, true), $sett);
- /*
- *
- * Format data
- *
- * */
- foreach ($diff as $k => &$value) {
- if (!in_array($k, ['export_data', 'settings'])) {
- $decode = json_decode($value, true);
- if (is_array($decode)) {
- $value = $decode;
+ /*
+ *
+ * Format data
+ *
+ * */
+ foreach ($diff as $k => &$value) {
+ 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") {
- $value = (bool)$value;
+ if (array_key_exists($k, $fields)) {
+ if ($fields[$k]->getDatabaseType() === "boolean") {
+ $value = (bool)$value;
+ }
}
}
- }
- /**
- *
- * Updated date
- *
- */
- $updated_at = Date::createFromDate()->toIso8601ZuluString();
- $diff['updated_at'] = $updated_at;
-
- /**
- *
- * Update data
- *
- */
- try {
- $f->update($diff);
- $f->save();
- } catch (\Exception $e) {
- return redirect()->back()->with('error', 'An error occurred during the update');
+ /**
+ *
+ * Updated date
+ *
+ */
+ $updated_at = Date::createFromDate()->toIso8601ZuluString();
+ $diff['updated_at'] = $updated_at;
+
+ /**
+ *
+ * Update data
+ *
+ */
+ try {
+ $f->update($diff);
+ $f->save();
+ } catch (\Exception $e) {
+ return redirect()->back()->with('error', 'An error occurred during the update');
+ }
}
}