admin.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. // 관리자
  4. use App\Http\Controllers\AdminController;
  5. use App\Http\Controllers\Admin\AjaxController;
  6. use App\Http\Controllers\Admin\Config;
  7. use App\Http\Controllers\Admin\Config\Setting;
  8. use App\Http\Controllers\Admin\Config\Layout;
  9. use App\Http\Controllers\Admin\Config\Register;
  10. use App\Http\Controllers\Admin\Config\Form;
  11. use App\Http\Controllers\Admin\Config\Test;
  12. use App\Http\Controllers\Admin\Page;
  13. use App\Http\Controllers\Admin\Page\Banner;
  14. use App\Http\Controllers\Admin\Popup;
  15. use App\Http\Controllers\Admin\User;
  16. use App\Http\Controllers\Admin\User\Dormant;
  17. use App\Http\Controllers\Admin\Board;
  18. use App\Http\Controllers\Admin\Board\Group;
  19. use App\Http\Controllers\Admin\Board\Trash;
  20. use App\Http\Controllers\Admin\Sms;
  21. /**
  22. |--------------------------------------------------------------------------
  23. | 관리자
  24. |--------------------------------------------------------------------------
  25. */
  26. Route::prefix('admin')->name('admin.')->middleware(['web', 'auth', 'admin', 'verified'])->group(function()
  27. {
  28. // 관리자 권한 확인, 상황판
  29. Route::get('', [AdminController::class, 'index'])->name('index');
  30. /*********************************
  31. * 환경
  32. *********************************/
  33. // Server 정보
  34. Route::get('config/server', [Config\ServerController::class, 'server'])->name('server')->name('config.server');
  35. Route::get('config/server/ajaxData', [Config\ServerController::class, 'ajaxData'])->name('config.server.ajax');
  36. // PHP 정보
  37. Route::get('config/server/php', [Config\ServerController::class, 'php'])->name('config.server.php');
  38. // DB 정보
  39. Route::get('config/server/db', [Config\ServerController::class, 'db'])->name('config.server.db');
  40. // 환경 > 기본 설정
  41. Route::resource('config/setting/basic', Setting\BasicController::class)->names('config.setting.basic');
  42. Route::resource('config/setting/access', Setting\AccessController::class)->names('config.setting.access');
  43. Route::resource('config/setting/notify', Setting\NotifyController::class)->names('config.setting.notify');
  44. Route::resource('config/setting/company', Setting\CompanyController::class)->names('config.setting.company');
  45. Route::resource('config/setting/exp', Setting\ExpController::class)->names('config.setting.exp');
  46. Route::resource('config/setting/note', Setting\NoteController::class)->names('config.setting.note');
  47. Route::resource('config/setting/general', Setting\GeneralController::class)->names('config.setting.general');
  48. // 환경 > 속성 설정
  49. Route::resource('config/layout/meta', Layout\MetaController::class)->names('config.layout.meta');
  50. Route::resource('config/layout/logo', Layout\LogoController::class)->names('config.layout.logo');
  51. // 환경 > 회원가입 설정
  52. Route::resource('config/register/basic', Register\BasicController::class)->names('config.register.basic');
  53. Route::resource('config/register/login', Register\LoginController::class)->names('config.register.login');
  54. Route::resource('config/register/modify', Register\ModifyController::class)->names('config.register.modify');
  55. Route::resource('config/register/notify', Register\NotifyController::class)->names('config.register.notify');
  56. Route::resource('config/register/toss', Register\TossController::class)->names('config.register.toss');
  57. // 환경 > 알림 발송 양식
  58. Route::get('config/form/email/layout', [Form\EmailController::class, 'layout'])->name('config.form.email.layout');
  59. Route::resource('config/form/email', Form\EmailController::class)->names('config.form.email');
  60. Route::resource('config/form/sms', Form\SmsController::class)->names('config.form.sms');
  61. Route::resource('config/form/note', Form\NoteController::class)->names('config.form.note');
  62. // 환경 > 알림 발송 확인
  63. Route::resource('config/test/email', Test\EmailController::class)->names('config.test.email');
  64. Route::resource('config/test/sms', Test\SmsController::class)->names('config.test.sms');
  65. Route::resource('config/test/telegram', Test\TelegramController::class)->names('config.test.telegram');
  66. // 환경 > 복구 / 최적화
  67. Route::get('config/optimize', [Config\OptimizeController::class, 'index'])->name('config.optimize');
  68. Route::get('config/optimize/clear/appCache', [Config\OptimizeController::class, 'clear'])->name('config.optimize.clear.appCache');
  69. Route::get('config/optimize/clear/routeCache', [Config\OptimizeController::class, 'clear'])->name('config.optimize.clear.routeCache');
  70. Route::get('config/optimize/clear/configCache', [Config\OptimizeController::class, 'clear'])->name('config.optimize.clear.configCache');
  71. Route::get('config/optimize/clear/viewCache', [Config\OptimizeController::class, 'clear'])->name('config.optimize.clear.viewCache');
  72. /*********************************
  73. * 일반
  74. *********************************/
  75. // 일반 > 메뉴
  76. Route::resource('page/menu', Page\MenuController::class)->names('page.menu');
  77. // 일반 > 메뉴 관리
  78. Route::get('page/menu/up/{id}', [Page\MenuController::class, 'up'])->name('page.menu.up');
  79. Route::get('page/menu/down/{id}', [Page\MenuController::class, 'down'])->name('page.menu.down');
  80. // 일반 > 문서
  81. Route::resource('page/document', Page\DocumentController::class)->names('page.document');
  82. // 일반 > 팝업
  83. Route::resource('page/popup', Page\PopupController::class)->names('page.popup');
  84. // 일반 > 배너 그룹
  85. Route::resource('page/banner/group', Banner\GroupController::class)->names('page.banner.group');
  86. // 일반 > 배너
  87. Route::resource('page/banner', Banner\ListController::class)->names('page.banner');
  88. /*********************************
  89. * 회원
  90. *********************************/
  91. // 회원 > 회원 관리
  92. Route::post('user/list/withdraw', [User\ListController::class, 'withdraw'])->name('user.list.withdraw');
  93. Route::resource('user/list', User\ListController::class)->names('user.list');
  94. // 회원 > 이름 변경 이력
  95. Route::resource('user/log/name', User\Log\NameController::class)->names('user.log.name');
  96. // 회원 > 이메일 변경 이력
  97. Route::resource('user/log/email', User\Log\EmailController::class)->names('user.log.email');
  98. // 회원 > 로그인 이력
  99. Route::resource('user/log/login/stat', User\Log\Login\StatController::class)->names('user.log.login.stat');
  100. Route::resource('user/log/login', User\Log\Login\LogController::class)->names('user.log.login');
  101. // 회원 > 회원그룹 관리
  102. Route::resource('user/group', User\GroupController::class)->names('user.group');
  103. // 회원 > 휴면계정 관리
  104. Route::resource('user/dormant/config', Dormant\ConfigController::class)->names('user.dormant.config');
  105. Route::resource('user/dormant/list', Dormant\ListController::class)->names('user.dormant.list');
  106. Route::post('user/dormant/list/notify', [Dormant\ListController::class, 'notify'])->name('user.dormant.list.notify');
  107. Route::post('user/dormant/list/dormancy', [Dormant\ListController::class, 'dormancy'])->name('user.dormant.list.dormancy');
  108. Route::post('user/dormant/list/recover', [Dormant\ListController::class, 'recover'])->name('user.dormant.list.recover');
  109. Route::resource('user/dormant/notify', Dormant\NotifyController::class)->names('user.dormant.notify');
  110. Route::resource('user/dormant/form/email', Dormant\Form\EmailController::class)->names('user.dormant.form.email');
  111. Route::resource('user/dormant/form/sms', Dormant\Form\SmsController::class)->names('user.dormant.form.sms');
  112. // 회원 검색
  113. Route::get('popup/user', [Popup\UserController::class, 'index'])->name('popup.user');
  114. /*********************************
  115. * 게시판
  116. *********************************/
  117. // 게시판 > 게시판 관리 (기본, 목록, 열람, 작성, 카테고리, 댓글, 일반, 경험치, 알람, 권한, 관리자)
  118. Route::put('board/board/list/listUpdate', [Board\Board\ListController::class, 'listUpdate'])->name('board.board.index.update');
  119. Route::resource('board/board/list', Board\Board\ListController::class)->names('board.board.list');
  120. Route::resource('board/board/post', Board\Board\PostController::class)->names('board.board.post');
  121. Route::resource('board/board/view', Board\Board\ViewController::class)->names('board.board.view');
  122. Route::resource('board/board/write', Board\Board\WriteController::class)->names('board.board.write');
  123. Route::resource('board/board/category', Board\Board\CategoryController::class)->names('board.board.category');
  124. Route::resource('board/board/comment', Board\Board\CommentController::class)->names('board.board.comment');
  125. Route::resource('board/board/general', Board\Board\GeneralController::class)->names('board.board.general');
  126. Route::resource('board/board/notify', Board\Board\NotifyController::class)->names('board.board.notify');
  127. Route::resource('board/board/authority', Board\Board\AuthorityController::class)->names('board.board.authority');
  128. Route::resource('board/board/exp', Board\Board\ExpController::class)->names('board.board.exp');
  129. Route::resource('board/board/manager', Board\Board\ManagerController::class)->names('board.board.manager');
  130. // 게시판 > 게시판 그룹 관리
  131. Route::put('board/group/list/listUpdate', [Group\ListController::class, 'listUpdate'])->name('board.group.list.index.update');
  132. Route::resource('board/group/list', Group\ListController::class)->names('board.group.list');
  133. Route::resource('board/group/manager', Group\ManagerController::class)->names('board.group.manager');
  134. // 게시판 > 휴지통 (게시글)
  135. Route::get('board/trash/post/truncate', [Trash\PostController::class, 'truncate'])->name('board.trash.post.truncate');
  136. Route::post('board/trash/post/recovery', [Trash\PostController::class, 'recovery'])->name('board.trash.post.recovery');
  137. Route::resource('board/trash/post', Trash\PostController::class)->names('board.trash.post');
  138. // 게시판 > 휴지통 (댓글)
  139. Route::get('board/trash/comment/truncate', [Trash\CommentController::class, 'truncate'])->name('board.trash.comment.truncate');
  140. Route::post('board/trash/comment/recovery', [Trash\CommentController::class, 'recovery'])->name('board.trash.comment.recovery');
  141. Route::resource('board/trash/comment', Trash\CommentController::class)->names('board.trash.comment');
  142. // 게시판 > 게시글 변경 이력
  143. Route::resource('board/history/post', Board\History\PostController::class)->names('board.history.post');
  144. // 게시판 > 댓글 변경 이력
  145. Route::resource('board/history/comment', Board\History\CommentController::class)->names('board.history.comment');
  146. // 게시판 > 게시물 관리
  147. Route::resource('board/post', Board\PostController::class)->names('board.post');
  148. // 게시판 > 댓글 관리
  149. Route::resource('board/comment', Board\CommentController::class)->names('board.comment');
  150. // 게시판 > 태그 관리
  151. Route::resource('board/tag', Board\TagController::class)->names('board.tag');
  152. // 게시판 > 첨부 파일 (업로드)
  153. Route::resource('board/file/upload', Board\File\UploadController::class)->names('board.file.upload');
  154. // 게시판 > 첨부 파일 (다운로드)
  155. Route::resource('board/file/download', Board\File\DownloadController::class)->names('board.file.download');
  156. // 게시판 > 게시판 이미지
  157. Route::resource('board/image', Board\ImageController::class)->names('board.image');
  158. // 게시판 > URL 클릭 > 목록
  159. Route::resource('board/link/list', Board\Link\ListController::class)->names('board.link.list');
  160. // 게시판 > URL 클릭 > 기록
  161. Route::resource('board/link/log', Board\Link\LogController::class)->names('board.link.log');
  162. // 게시판 > 추천/비추천
  163. Route::resource('board/like/post', Board\Like\PostController::class)->names('board.like.post');
  164. Route::resource('board/like/comment', Board\Like\CommentController::class)->names('board.like.comment');
  165. // 게시판 > 신고 관리
  166. Route::resource('board/blame/post', Board\Blame\PostController::class)->names('board.blame.post');
  167. Route::resource('board/blame/comment', Board\Blame\CommentController::class)->names('board.blame.comment');
  168. // 게시판 > 분류 관리 > 분류 순서 조절
  169. Route::get('board/board/category/up/{boardID}', [Board\Board\CategoryController::class, 'up'])->name('board.board.category.up');
  170. Route::get('board/board/category/down/{boardID}', [Board\Board\CategoryController::class, 'down'])->name('board.board.category.down');
  171. /*********************************
  172. * SMS
  173. *********************************/
  174. // SMS > 환경설정
  175. Route::resource('sms/config', Sms\ConfigController::class)->names('sms.config');
  176. // SMS > 문자 발송하기
  177. Route::get('sms/send/user', [Sms\SendController::class, 'user'])->name('sms.send.user');
  178. Route::get('sms/send/book', [Sms\SendController::class, 'book'])->name('sms.send.book');
  179. Route::resource('sms/send', Sms\SendController::class)->names('sms.send');
  180. // SMS > 전송 내역
  181. Route::resource('sms/history', Sms\HistoryController::class)->names('sms.history');
  182. // SMS > 전송 결과
  183. Route::resource('sms/result', Sms\ResultController::class)->names('sms.result');
  184. // SMS > 주소록 관리
  185. Route::resource('sms/book/list', Sms\Book\ListController::class)->names('sms.book.list');
  186. Route::resource('sms/book/user', Sms\Book\UserController::class)->names('sms.book.user');
  187. // SMS > 자주 보내는 문자
  188. Route::get('popup/sms/favorite', [Popup\SmsController::class, 'favorite'])->name('popup.sms');
  189. Route::resource('sms/favorite', Sms\FavoriteController::class)->names('sms.favorite');
  190. /*********************************
  191. * POPUP
  192. *********************************/
  193. Route::get('popup/user', [Popup\UserController::class, 'index'])->name('popup.user');
  194. Route::get('popup/user/group', [Popup\UserController::class, 'group'])->name('popup.user.group');
  195. /*********************************
  196. * Ajax
  197. *********************************/
  198. Route::post('ajax/postBlameResultUpdate', [AjaxController::class, 'postBlameResultUpdate'])->name('post.blame.result.update');
  199. Route::post('ajax/commentBlameResultUpdate', [AjaxController::class, 'commentBlameResultUpdate'])->name('comment.blame.result.update');
  200. });