/** * @Request({"order": "array"}, csrf=true) */ public function reorderAction($order = []) { $widgets = $this->dashboard->getWidgets(); $reordered = []; foreach ($order as $id) { if ($widget = $this->dashboard->getWidget($id)) { $reordered[$id] = $widget; } } if (count($widgets) == count($reordered)) { $this->dashboard->saveWidgets($reordered); } return ['message' => __('Widgets reordered.')]; }