Basic.cshtml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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 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="fromName" class="col-sm-2 col-form-label">송수신자 이름</label>
  45. <div class="col-sm-10">
  46. <input type="text" name="from_name" id="fromName" class="form-control" value="@config.GetConfig("from_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="smtpEnableSSL" class="col-sm-2 col-form-label">SMTP Enable SSL</label>
  65. <div class="col-sm-10 align-content-center">
  66. <input type="checkbox" name="smtp_enable_ssl" id="smtpEnableSSL" class="form-check-input" value="Y" @(config.GetConfig("smtp_enable_ssl") == "Y" ? "checked" : "") />
  67. <label class="form-check-label" for="smtpEnableSSL">사용</label>
  68. </div>
  69. </div>
  70. <div class="row mb-3">
  71. <label for="smtpUsername" class="col-sm-2 col-form-label">SMTP Username</label>
  72. <div class="col-sm-10">
  73. <input type="text" name="smtp_username" id="smtpUsername" class="form-control" value="@config.GetConfig("smtp_username")" />
  74. </div>
  75. </div>
  76. <div class="row mb-3">
  77. <label for="smtpPassword" class="col-sm-2 col-form-label">SMTP Password</label>
  78. <div class="col-sm-10">
  79. <input type="password" name="smtp_password" id="smtpPassword" class="form-control" value="@config.GetConfig("smtp_password")" />
  80. </div>
  81. </div>
  82. <hr />
  83. <div class="row mb-3">
  84. <label for="adminWhiteIPList" class="col-sm-2 col-form-label">관리자단 접근 가능 IP</label>
  85. <div class="col-sm-10">
  86. <div class="form-text text-muted pb-2">
  87. 해당 IP 에서만 관리자 페이지에 접근이 가능합니다. <br />
  88. IP 주소 입력형식 <br />
  89. 1. 와일드카드 (*) 사용가능(예: 192.168.0.*) <br />
  90. 2. 하이픈 (-)을 사용하여 대역으로 입력가능 <br />
  91. (단, 대역폭으로 입력할 경우 와일드카드 사용불가. 예: 192.168.0.1 ~ 192.168.0.254) <br />
  92. 3. 여러개의 항목은 줄을 바꾸어 입력하세요.
  93. </div>
  94. <textarea name="admin_white_ip_list" id="adminWhiteIPList" class="form-control" rows="3">@config.GetConfig("admin_white_ip_list")</textarea>
  95. <div class="form-text text-muted">
  96. 해당 IP 에서만 관리자에 접근이 가능합니다.
  97. </div>
  98. </div>
  99. </div>
  100. <div class="row mb-3">
  101. <label for="frontWhiteIPList" class="col-sm-2 col-form-label">사용자단 접근 가능 IP</label>
  102. <div class="col-sm-10">
  103. <textarea name="front_white_ip_list" id="frontWhiteIPList" class="form-control" rows="2">@config.GetConfig("front_white_ip_list")</textarea>
  104. <div class="form-text text-muted">
  105. 해당 IP 에서만 사이트에 접근이 가능합니다. <br>
  106. </div>
  107. </div>
  108. </div>
  109. <hr />
  110. <div class="row mb-3">
  111. <label for="blockAlertTitle" class="col-sm-2 col-form-label">차단 시 안내문 제목</label>
  112. <div class="col-sm-10">
  113. <input type="text" name="block_alert_title" id="blockAlertTitle" class="form-control" value="@config.GetConfig("block_alert_title")" />
  114. </div>
  115. </div>
  116. <div class="row mb-3">
  117. <label for="blockAlertContent" class="col-sm-2 col-form-label">차단 시 안내문 내용</label>
  118. <div class="col-sm-10">
  119. <textarea name="block_alert_content" id="blockAlertContent" class="ck-editor">@config.GetConfig("block_alert_content")</textarea>
  120. </div>
  121. </div>
  122. <hr />
  123. <div class="row mb-3">
  124. <label for="isMaintenance" class="col-sm-2 col-form-label">점검 여부</label>
  125. <div class="col-sm-10 align-content-center">
  126. <div class="form-check-inline">
  127. <input class="form-check-input" type="checkbox" value="1" id="isMaintenance" name="is_maintenance" @(config.GetConfig("is_maintenance") == "1" ? "checked" : "") />
  128. <label class="form-check-label" for="isMaintenance">
  129. 점검을 진행합니다.
  130. </label>
  131. </div>
  132. </div>
  133. </div>
  134. <div class="row mb-3">
  135. <label for="maintenanceContent" class="col-sm-2 col-form-label">점검 내용</label>
  136. <div class="col-sm-10">
  137. <textarea name="maintenance_content" id="maintenanceContent" class="ck-editor">@config.GetConfig("maintenance_content")</textarea>
  138. </div>
  139. </div>
  140. <hr/>
  141. <div class="row">
  142. <div class="col text-center p-3">
  143. <button type="submit" class="btn btn-success">저장하기</button>
  144. </div>
  145. </div>
  146. <br />
  147. </form>
  148. </div>