FleetCart/Modules/Import/Http/Controllers/Admin/ImporterController.php

45 lines
1.3 KiB
PHP
Raw Normal View History

2023-06-11 12:14:03 +00:00
<?php
namespace Modules\Import\Http\Controllers\Admin;
use Maatwebsite\Excel\Excel;
use Modules\Import\Imports\ProductImport;
use Maatwebsite\Excel\Facades\Excel as ExcelFacade;
use Modules\Import\Http\Requests\StoreImporterRequest;
class ImporterController
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('import::admin.importer.index');
}
/**
* Store a newly created resource in storage.
*
* @param \Modules\Import\Http\Requests\StoreImporterRequest $request
* @return \Illuminate\Http\Response
*/
public function store(StoreImporterRequest $request)
{
@set_time_limit(0);
$importers = ['product' => ProductImport::class];
ExcelFacade::import(new $importers[$request->import_type], $request->file('csv_file'), null, Excel::CSV);
if (session()->has('importer_errors')) {
return back()->with('error', trans('import::messages.there_was_an_error_on_rows', [
'rows' => implode(', ', session()->pull('importer_errors', [])),
]));
}
return back()->with('success', trans('import::messages.the_importer_has_been_run_successfully'));
}
}