AccessController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config\Setting;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\Config;
  6. use App\Models\FileLib;
  7. class AccessController extends Controller
  8. {
  9. private Config $configModel;
  10. public function __construct(Config $config)
  11. {
  12. $this->configModel = $config;
  13. }
  14. /**
  15. * 접근
  16. * @method GET
  17. * @see /admin/config/setting/access
  18. */
  19. public function index()
  20. {
  21. return view('admin.config.setting.access', []);
  22. }
  23. /**
  24. * 접근 저장
  25. * @method POST
  26. * @see /admin/config/setting/access
  27. */
  28. public function store(Request $request, FileLib $fileLib)
  29. {
  30. $rules = [
  31. 'admin_ip_whitelist' => 'string|nullable',
  32. 'site_ip_blacklist' => 'string|nullable',
  33. 'site_ip_whitelist' => 'string|nullable',
  34. 'site_blacklist_title' => 'string|nullable',
  35. 'site_blacklist_content' => 'string|nullable',
  36. ];
  37. $attributes = [
  38. 'admin_ip_whitelist' => '관리자 페이지 접근 가능 IP',
  39. 'site_ip_blacklist' => '사이트 접근 불가 IP',
  40. 'site_ip_whitelist' => '사이트 접근 가능 IP',
  41. 'site_blacklist_title' => '사이트 차단시 안내문 제목',
  42. 'site_blacklist_content' => '사이트 차단시 안내문 내용'
  43. ];
  44. $posts = $this->validate($request, $rules, [], );
  45. $posts['site_blacklist_content'] = $fileLib->saveAsImage($posts['site_blacklist_content'], UPLOAD_PATH_EDITOR);
  46. $this->configModel->save($posts, $attributes);
  47. $message = '접근 정보가 저장되었습니다.';
  48. return redirect()->route('admin.config.setting.access.index')->with('message', $message);
  49. }
  50. }