route.php 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. Route::pattern('username', '[a-zA-Z0-9_]{1,20}');
  3. Route::pattern('lgpid', '[a-zA-Z0-9_]{1,20}');
  4. Route::pattern('group', 'group_[a-zA-Z0-9_]{1,20}');
  5. Route::pattern('id', '[1-9][0-9]{0,9}');
  6. Route::pattern('contest_id', '[1-9][0-9]{0,9}');
  7. Route::pattern('tab', '\S{1,20}');
  8. Route::pattern('rand_str_id', '[0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]{20}');
  9. Route::pattern('upgrade_name', '[a-zA-Z0-9_]{1,50}');
  10. Route::group([
  11. 'domain' => '('.UOJConfig::$data['web']['main']['host'].'|127.0.0.1'.')'
  12. ], function() {
  13. Route::any('/', '/index.php');
  14. Route::any('/problems', '/problem_set.php');
  15. Route::any('/problems/template', '/problem_set.php?tab=template');
  16. Route::any('/problems/group/{group}', '/problem_set.php');
  17. Route::any('/cloud', '/cloud.php');
  18. Route::any('/problem/{id}', '/problem.php');
  19. Route::any('/problem/{id}/statistics', '/problem_statistics.php');
  20. Route::any('/problem/{id}/manage/statement', '/problem_statement_manage.php');
  21. Route::any('/problem/{id}/manage/managers', '/problem_managers_manage.php');
  22. Route::any('/problem/{id}/manage/data', '/problem_data_manage.php');
  23. Route::any('/rps', '/rps.php');
  24. Route::any('/rp/{lgpid}', '/rp.php');
  25. Route::any('/contests', '/contests.php');
  26. Route::any('/contest/new', '/add_contest.php');
  27. Route::any('/contest/{id}', '/contest_inside.php');
  28. Route::any('/contest/{id}/registrants', '/contest_members.php');
  29. Route::any('/contest/{id}/register', '/contest_registration.php');
  30. Route::any('/contest/{id}/manage', '/contest_manage.php');
  31. Route::any('/contest/{id}/submissions', '/contest_inside.php?tab=submissions');
  32. Route::any('/contest/{id}/standings', '/contest_inside.php?tab=standings');
  33. Route::any('/contest/{id}/backstage', '/contest_inside.php?tab=backstage');
  34. Route::any('/contest/{id}/export_standings', '/export_contest_standings_table.php');
  35. Route::any('/contest/{contest_id}/problem/{id}', '/problem.php');
  36. Route::any('/contest/{contest_id}/problem/{id}/statistics', '/problem_statistics.php');
  37. Route::any('/submissions', '/submissions_list.php');
  38. Route::any('/submission/{id}', '/submission.php');
  39. Route::any('/submission-status-details', '/submission_status_details.php');
  40. Route::any('/hacks', '/hack_list.php');
  41. Route::any('/hack/{id}', '/hack.php');
  42. Route::any('/datums', '/datums.php');
  43. Route::any('/datum/{id}', '/datum.php');
  44. Route::any('/blogs', '/blogs.php');
  45. if (UOJConfig::$data['switch']['blog-domain-mode'] != 3) {
  46. Route::any('/blog/{id}', '/blog_show.php');
  47. }
  48. Route::any('/blogs/{id}', '/blog_show.php');
  49. Route::any('/post/{id}', '/blog_show.php');
  50. Route::any('/announcements', '/announcements.php');
  51. Route::any('/faq', '/faq.php');
  52. Route::any('/ranklist', '/ranklist.php?type=rating');
  53. Route::any('/login', '/login.php');
  54. Route::any('/logout', '/logout.php');
  55. Route::any('/register', '/register.php');
  56. Route::any('/forgot-password', '/forgot_pw.php');
  57. Route::any('/reset-password', '/reset_pw.php');
  58. Route::any('/user/profile/{group}', '/group_info.php');
  59. Route::any('/user/profile/{username}', '/user_info.php');
  60. Route::any('/user/modify-profile', '/change_user_info.php');
  61. Route::any('/user/msg', '/user_msg.php');
  62. Route::any('/user/system-msg', '/user_system_msg.php');
  63. Route::any('/super-manage(?:/{tab})?', '/super_manage.php');
  64. Route::any('/groups-manage(?:/{tab})?', '/groups_manage.php');
  65. Route::any('/group-manage/{group}(?:/{tab})?', '/group_manage.php');
  66. Route::any('/certs-manage(?:/{tab})?', '/certs_manage.php');
  67. Route::any('/download.php', '/download.php');
  68. Route::any('/click-zan', '/click_zan.php');
  69. Route::any('/paste', '/paste_post.php');
  70. Route::any('/pastes/{rand_str_id}', '/paste_view.php');
  71. Route::any('/map_visualizer', '/map_visualizer.php');
  72. }
  73. );
  74. Route::post('/judge/submit', '/judge/submit.php');
  75. Route::post('/judge/sync-judge-client', '/judge/sync_judge_client.php');
  76. Route::post('/judge/download/submission/{id}/{rand_str_id}', '/judge/download.php?type=submission');
  77. Route::post('/judge/download/tmp/{rand_str_id}', '/judge/download.php?type=tmp');
  78. Route::post('/judge/download/problem/{id}', '/judge/download.php?type=problem');
  79. Route::post('/judge/download/judger', '/judge/download.php?type=judger');