Basic.cshtml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. @using bitforum.Helpers;
  2. @using bitforum.Models.User;
  3. @{
  4. ViewData["Title"] = "기본 설정";
  5. var config = ViewBag.Config as Dictionary<string, string>;
  6. var admins = ViewBag.Admin as List<ApplicationUser>;
  7. }
  8. <div id="settingBasic" class="container">
  9. <h3>@ViewData["Title"]</h3>
  10. <hr />
  11. <partial name="_StatusMessage" />
  12. <partial name="_Editor" />
  13. <form name="f_admin_write" id="fAdminWrite" method="post" asp-controller="Basic" asp-action="Save" autocomplete="off">
  14. <div class="row mb-3">
  15. <label for="siteName" class="col-sm-2 col-form-label">관리자 제목</label>
  16. <div class="col-sm-10">
  17. <input type="text" name="site_name" id="siteName" class="form-control" value="@config.GetConfig("site_name")" />
  18. </div>
  19. </div>
  20. <div class="row mb-3">
  21. <label for="rootID" class="col-sm-2 col-form-label">최고 관리자</label>
  22. <div class="col-sm-10">
  23. @if (admins != null) {
  24. <select name="root_id" id="rootID" class="form-select w-auto">
  25. <option value="" selected="@(config.GetConfig("root_id") == null)">선택하세요.</option>
  26. @foreach (var admin in admins as List<ApplicationUser>)
  27. {
  28. <option value="@admin.Id" selected="@(config.GetConfig("root_id") == admin.Id)">
  29. @admin.Email - @admin.FullName
  30. </option>
  31. }
  32. </select>
  33. }
  34. </div>
  35. </div>
  36. <div class="row mb-3">
  37. <label for="fromEmail" class="col-sm-2 col-form-label">송수신 이메일</label>
  38. <div class="col-sm-10">
  39. <input type="text" name="from_email" id="fromEmail" class="form-control" value="@config.GetConfig("from_email")" />
  40. <div class="form-text text-muted">관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다.</div>
  41. </div>
  42. </div>
  43. <div class="row mb-3">
  44. <label for="fromEmailName" class="col-sm-2 col-form-label">송수신자 이름</label>
  45. <div class="col-sm-10">
  46. <input type="text" name="from_email_name" id="fromEmailName" class="form-control" value="@config.GetConfig("from_email_name")" />
  47. <div class="form-text text-muted">관리자가 보내고 받는 용도로 사용하는 메일의 발송자 이름을 입력합니다.</div>
  48. </div>
  49. </div>
  50. <hr />
  51. <div class="row mb-3">
  52. <label for="smtpServer" class="col-sm-2 col-form-label">SMTP Server</label>
  53. <div class="col-sm-10">
  54. <input type="text" name="smtp_server" id="smtpServer" class="form-control" value="@config.GetConfig("smtp_server")" />
  55. </div>
  56. </div>
  57. <div class="row mb-3">
  58. <label for="smtpPort" class="col-sm-2 col-form-label">SMTP Port</label>
  59. <div class="col-sm-10">
  60. <input type="number" name="smtp_port" id="smtpPort" class="form-control d-inline w-auto" value="@config.GetConfig("smtp_port")" />
  61. </div>
  62. </div>
  63. <div class="row mb-3">
  64. <label for="smtpFromEmail" class="col-sm-2 col-form-label">SMTP From Email</label>
  65. <div class="col-sm-10">
  66. <input type="text" name="smtp_from_email" id="smtpFromEmail" class="form-control" value="@config.GetConfig("smtp_from_email")" />
  67. </div>
  68. </div>
  69. <div class="row mb-3">
  70. <label for="smtpEmailPassword" class="col-sm-2 col-form-label">SMTP Email Password</label>
  71. <div class="col-sm-10">
  72. <input type="password" name="smtp_email_password" id="smtpEmailPassword" class="form-control" value="@config.GetConfig("smtp_email_password")" />
  73. </div>
  74. </div>
  75. <hr />
  76. <div class="row mb-3">
  77. <label for="adminWhiteIPList" class="col-sm-2 col-form-label">관리자단 접근 가능 IP</label>
  78. <div class="col-sm-10">
  79. <div class="form-text text-muted pb-2">
  80. 해당 IP 에서만 관리자 페이지에 접근이 가능합니다. <br />
  81. IP 주소 입력형식 <br />
  82. 1. 와일드카드 (*) 사용가능(예: 192.168.0.*) <br />
  83. 2. 하이픈 (-)을 사용하여 대역으로 입력가능 <br />
  84. (단, 대역폭으로 입력할 경우 와일드카드 사용불가. 예: 192.168.0.1 ~ 192.168.0.254) <br />
  85. 3. 여러개의 항목은 줄을 바꾸어 입력하세요.
  86. </div>
  87. <textarea name="admin_white_ip_list" id="adminWhiteIPList" class="form-control" rows="2">@config.GetConfig("admin_white_ip_list") </textarea>
  88. <div class="form-text text-muted">
  89. 해당 IP 에서만 관리자에 접근이 가능합니다.
  90. </div>
  91. </div>
  92. </div>
  93. <div class="row mb-3">
  94. <label for="frontWhiteIPList" class="col-sm-2 col-form-label">사용자단 접근 가능 IP</label>
  95. <div class="col-sm-10">
  96. <textarea name="front_white_ip_list" id="frontWhiteIPList" class="form-control" rows="2">@config.GetConfig("front_white_ip_list")</textarea>
  97. <div class="form-text text-muted">
  98. 해당 IP 에서만 사이트에 접근이 가능합니다. <br>
  99. </div>
  100. </div>
  101. </div>
  102. <hr />
  103. <div class="row mb-3">
  104. <label for="blockAlertTitle" class="col-sm-2 col-form-label">차단 시 안내문 제목</label>
  105. <div class="col-sm-10">
  106. <input type="text" name="block_alert_title" id="blockAlertTitle" class="form-control" value="@config.GetConfig("block_alert_title")" />
  107. </div>
  108. </div>
  109. <div class="row mb-3">
  110. <label for="blockAlertContent" class="col-sm-2 col-form-label">차단 시 안내문 내용</label>
  111. <div class="col-sm-10">
  112. <textarea name="block_alert_content" id="blockAlertContent" class="ck-editor">@config.GetConfig("block_alert_content")</textarea>
  113. </div>
  114. </div>
  115. <hr />
  116. <div class="row mb-3">
  117. <label for="isMaintenance" class="col-sm-2 col-form-label">점검 여부</label>
  118. <div class="col-sm-10 align-content-center">
  119. <div class="form-check-inline">
  120. <input class="form-check-input" type="checkbox" value="1" id="isMaintenance" name="is_maintenance" @(config.GetConfig("is_maintenance") == "1" ? "checked" : "") />
  121. <label class="form-check-label" for="isMaintenance">
  122. 점검을 진행합니다.
  123. </label>
  124. </div>
  125. </div>
  126. </div>
  127. <div class="row mb-3">
  128. <label for="maintenanceContent" class="col-sm-2 col-form-label">점검 내용</label>
  129. <div class="col-sm-10">
  130. <textarea name="maintenance_content" id="maintenanceContent" class="ck-editor">@config.GetConfig("maintenance_content")</textarea>
  131. </div>
  132. </div>
  133. <hr/>
  134. <div class="row">
  135. <div class="col text-center p-3">
  136. <button type="submit" class="btn btn-success">저장하기</button>
  137. </div>
  138. </div>
  139. <br />
  140. </form>
  141. </div>