/** * Handle the command. * * @param Request $request * @param ResponseFactory $response * @throws \Exception */ public function handle(Request $request, ResponseFactory $response) { if ($this->builder instanceof MultipleTableBuilder) { return; } $this->dispatch(new ExecuteAction($this->builder)); if (!$this->builder->getTableResponse()) { $this->builder->setTableResponse($response->redirectTo($request->fullUrl())); } }
/** * Save the order of the entries. * * @param SectionCollection $sections * @param TableBuilder $builder * @param array $selected */ public function handle(SectionCollection $sections, Redirector $redirector, TableBuilder $builder, array $selected) { $prefix = $builder->getTableOption('prefix'); $edit = array_shift($selected); $ids = implode(',', $selected); if ($section = $sections->active()) { $builder->setTableResponse($redirector->to($section->getHref('edit/' . $edit . '?' . $prefix . 'edit_next=' . $ids))); } }
/** * ExportAll the selected entries. * * @param TableBuilder $builder * @param ResponseFactory $response * @param array $selected */ public function handle(TableBuilder $builder, ResponseFactory $response, array $selected) { $model = $builder->getTableModel(); $stream = $builder->getTableStream(); $headers = ['Content-Disposition' => 'attachment; filename=' . $stream->getSlug() . '.csv', 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', 'Content-type' => 'text/csv', 'Pragma' => 'public', 'Expires' => '0']; $callback = function () use($selected, $model) { $output = fopen('php://output', 'w'); /* @var EloquentModel $entry */ foreach ($model->all() as $k => $entry) { if ($k == 0) { fputcsv($output, array_keys($entry->toArray())); } fputcsv($output, $entry->toArray()); } fclose($output); }; $builder->setTableResponse($response->stream($callback, 200, $headers)); }