57 lines
1.3 KiB
PHP
57 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Bo;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\SaveBannedIpListRequest;
|
|
use App\Models\BannedIp;
|
|
use Illuminate\Http\Request;
|
|
|
|
class BannedIpController extends Controller
|
|
{
|
|
/**
|
|
* Show banned ips list
|
|
*
|
|
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
|
|
*/
|
|
public function index()
|
|
{
|
|
$ips = BannedIp::all();
|
|
return view('bo.banned-ip.index', compact('ips'));
|
|
}
|
|
|
|
/**
|
|
* Ajax save data banned ips
|
|
*
|
|
* @param SaveBannedIpListRequest $request
|
|
* @return array
|
|
*/
|
|
public function saveDatas(SaveBannedIpListRequest $request)
|
|
{
|
|
/** @var \Illuminate\Support\Collection $ips */
|
|
$ips = \collect($request->ips);
|
|
|
|
// * Delete all
|
|
BannedIp::query()->delete();
|
|
|
|
$ips->map(function (string $ip) {
|
|
(new BannedIp(['ip' => $ip]))->saveOrFail();
|
|
});
|
|
|
|
return \response()->json(BannedIp::all());
|
|
}
|
|
|
|
/**
|
|
* Ajax destroy ip
|
|
*
|
|
* @param Request $request
|
|
* @return string
|
|
*/
|
|
public function destroy(Request $request)
|
|
{
|
|
$ip = BannedIp::where("ip", $request->ip);
|
|
$ip->delete();
|
|
|
|
return "Suppression terminée !";
|
|
}
|
|
}
|