aside_configure.phtml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. function get_logout_url(): string {
  3. if (($_SERVER['AUTH_TYPE'] ?? '') === 'openid-connect') {
  4. $url_string = urlencode(Minz_Request::guessBaseUrl());
  5. return './oidc/?logout=' . $url_string . '/';
  6. # The trailing slash is necessary so that we don’t redirect to http://.
  7. # https://bz.apache.org/bugzilla/show_bug.cgi?id=61355#c13
  8. } else {
  9. return _url('auth', 'logout') ?: '';
  10. }
  11. }
  12. ?>
  13. <nav class="nav nav-list aside" id="aside_feed">
  14. <a class="toggle_aside" href="#close"><?= _i('close') ?></a>
  15. <ul>
  16. <li class="item nav-section">
  17. <div class="item nav-header"><?= _t('gen.menu.account') ?>: <?= htmlspecialchars(Minz_User::name() ?? '', ENT_NOQUOTES, 'UTF-8')?></div>
  18. <ul>
  19. <li class="item<?= Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'profile' ? ' active' : '' ?>">
  20. <a href="<?= _url('user', 'profile') ?>"><?= _t('gen.menu.user_profile') ?></a>
  21. </li>
  22. <li class="item">
  23. <a class="signout" href="<?= get_logout_url() ?>">
  24. <?php
  25. echo _t('gen.auth.logout'); ?> <?= _i('logout') ?></a>
  26. </li>
  27. </ul>
  28. </li>
  29. <li class="item nav-section">
  30. <div class="item nav-header"><?= _t('gen.menu.configuration') ?></div>
  31. <ul>
  32. <li class="item<?= Minz_Request::actionName() === 'display' ? ' active' : '' ?>">
  33. <a href="<?= _url('configure', 'display') ?>"><?= _t('gen.menu.display') ?></a>
  34. </li>
  35. <li class="item<?= Minz_Request::actionName() === 'reading' ? ' active' : '' ?>">
  36. <a href="<?= _url('configure', 'reading') ?>"><?= _t('gen.menu.reading') ?></a>
  37. </li>
  38. <li class="item<?= Minz_Request::actionName() === 'archiving' ? ' active' : '' ?>">
  39. <a href="<?= _url('configure', 'archiving') ?>"><?= _t('gen.menu.archiving') ?></a>
  40. </li>
  41. <li class="item<?= Minz_Request::actionName() === 'integration' ? ' active' : '' ?>">
  42. <a href="<?= _url('configure', 'integration') ?>"><?= _t('gen.menu.sharing') ?></a>
  43. </li>
  44. <li class="item<?= Minz_Request::actionName() === 'shortcut' ? ' active' : '' ?>">
  45. <a href="<?= _url('configure', 'shortcut') ?>"><?= _t('gen.menu.shortcuts') ?></a>
  46. </li>
  47. <li class="item<?= in_array(Minz_Request::actionName(), ['queries', 'query'], true) ? ' active' : '' ?>">
  48. <a href="<?= _url('configure', 'queries') ?>"><?= _t('gen.menu.queries') ?></a>
  49. </li>
  50. <li class="item<?= Minz_Request::controllerName() === 'extension' ? ' active' : '' ?>">
  51. <a href="<?= _url('extension', 'index') ?>"><?= _t('gen.menu.extensions') ?></a>
  52. </li>
  53. <?php if (!FreshRSS_Auth::hasAccess('admin')) { ?>
  54. <li class="item<?= Minz_Request::actionName() === 'logs' ? ' active' : '' ?>">
  55. <a href="<?= _url('index', 'logs') ?>"><?= _t('gen.menu.logs') ?></a>
  56. </li>
  57. <?php } ?>
  58. <?= Minz_ExtensionManager::callHook('menu_configuration_entry') ?>
  59. </ul>
  60. </li>
  61. <?php if (FreshRSS_Auth::hasAccess('admin')) { ?>
  62. <li class="item nav-section">
  63. <div class="item nav-header"><?= _t('gen.menu.admin') ?></div>
  64. <ul>
  65. <li class="item<?= Minz_Request::actionName() === 'system' ? ' active' : '' ?>">
  66. <a href="<?= _url('configure', 'system') ?>"><?= _t('gen.menu.system') ?></a>
  67. </li>
  68. <li class="item<?= Minz_Request::controllerName() === 'user' && in_array(Minz_Request::actionName(), ['manage', 'details'], true) ? ' active' : '' ?>">
  69. <a href="<?= _url('user', 'manage') ?>"><?= _t('gen.menu.user_management') ?></a>
  70. </li>
  71. <li class="item<?= Minz_Request::controllerName() === 'auth' ? ' active' : '' ?>">
  72. <a href="<?= _url('auth', 'index') ?>"><?= _t('gen.menu.authentication') ?></a>
  73. </li>
  74. <li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'checkInstall' ? ' active' : '' ?>">
  75. <a href="<?= _url('update', 'checkInstall') ?>"><?= _t('gen.menu.check_install') ?></a>
  76. </li>
  77. <?php if (!FreshRSS_Context::$system_conf->disable_update) { ?>
  78. <li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'index' ? ' active' : '' ?>">
  79. <a href="<?= _url('update', 'index') ?>"><?= _t('gen.menu.update') ?></a>
  80. </li>
  81. <?php } ?>
  82. <li class="item<?= Minz_Request::actionName() === 'logs' ? ' active' : '' ?>">
  83. <a href="<?= _url('index', 'logs') ?>"><?= _t('gen.menu.logs') ?></a>
  84. </li>
  85. <?= Minz_ExtensionManager::callHook('menu_admin_entry') ?>
  86. </ul>
  87. </li>
  88. <?php } ?>
  89. <li class="item nav-section">
  90. <div class="item nav-header"><!-- empty headline --></div>
  91. <ul>
  92. <li class="item<?= Minz_Request::actionName() === 'about' ? ' active' : '' ?>">
  93. <a href="<?= _url('index', 'about') ?>"><?= _t('gen.menu.about') ?></a>
  94. </li>
  95. <?php if (file_exists(TOS_FILENAME)) { ?>
  96. <li class="item">
  97. <a href="<?= _url('index', 'tos') ?>"><?= _t('index.tos.title')?></a>
  98. </li>
  99. <?php } ?>
  100. </ul>
  101. </li>
  102. </ul>
  103. </nav>
  104. <a class="close-aside" href="#close">❌</a>
  105. <nav class="nav_menu nav_mobile">
  106. <a class="btn toggle_aside" href="#aside_feed"><?= _i('category') ?></a>
  107. </nav>