2020-10-23 12:14:07 +02:00
|
|
|
<?php
|
|
|
|
|
|
2022-01-10 14:02:25 +01:00
|
|
|
namespace App\Http\Controllers\Bo;
|
2020-10-23 12:14:07 +02:00
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
2022-03-15 16:27:41 +01:00
|
|
|
use App\Http\Requests\SaveBannedIpListRequest;
|
2022-01-11 12:39:28 +01:00
|
|
|
use App\Models\BannedIp;
|
2020-10-23 12:14:07 +02:00
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
2022-01-11 12:39:28 +01:00
|
|
|
class BannedIpController extends Controller
|
2020-10-23 12:14:07 +02:00
|
|
|
{
|
2022-03-15 16:27:41 +01:00
|
|
|
/**
|
|
|
|
|
* Show banned ips list
|
|
|
|
|
*
|
|
|
|
|
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
|
|
|
|
|
*/
|
2021-08-18 17:08:02 +02:00
|
|
|
public function index()
|
|
|
|
|
{
|
2022-01-11 12:39:28 +01:00
|
|
|
$ips = BannedIp::all();
|
2020-10-23 12:14:07 +02:00
|
|
|
return view('bo.banned-ip.index', compact('ips'));
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-15 16:27:41 +01:00
|
|
|
/**
|
|
|
|
|
* Ajax save data banned ips
|
|
|
|
|
*
|
|
|
|
|
* @param SaveBannedIpListRequest $request
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function saveDatas(SaveBannedIpListRequest $request)
|
2021-08-18 17:08:02 +02:00
|
|
|
{
|
2022-03-15 16:27:41 +01:00
|
|
|
/** @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());
|
2020-10-23 12:14:07 +02:00
|
|
|
}
|
|
|
|
|
|
2022-03-15 16:27:41 +01:00
|
|
|
/**
|
|
|
|
|
* Ajax destroy ip
|
|
|
|
|
*
|
|
|
|
|
* @param Request $request
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2021-08-18 17:08:02 +02:00
|
|
|
public function destroy(Request $request)
|
|
|
|
|
{
|
2022-01-11 12:39:28 +01:00
|
|
|
$ip = BannedIp::where("ip", $request->ip);
|
2020-10-23 12:14:07 +02:00
|
|
|
$ip->delete();
|
|
|
|
|
|
|
|
|
|
return "Suppression terminée !";
|
|
|
|
|
}
|
|
|
|
|
}
|