aside_configure.phtml 5.0 KB

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