system.phtml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?php
  2. /** @var FreshRSS_View $this */
  3. $this->partial('aside_configure');
  4. ?>
  5. <main class="post">
  6. <div class="link-back-wrapper">
  7. <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
  8. </div>
  9. <h1><?= _t('admin.system') ?></h1>
  10. <form method="post" action="<?= _url('configure', 'system') ?>">
  11. <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
  12. <div class="form-group">
  13. <label class="group-name" for="instance-name"><?= _t('admin.system.instance-name') ?></label>
  14. <div class="group-controls">
  15. <input type="text" id="instance-name" name="instance-name" value="<?= FreshRSS_Context::$system_conf->title ?>"
  16. data-leave-validation="<?= FreshRSS_Context::$system_conf->title ?>"/>
  17. </div>
  18. </div>
  19. <div class="form-group">
  20. <label class="group-name" for="base-url"><?= _t('admin.system.base-url') ?></label>
  21. <div class="group-controls">
  22. <input type="text" id="base-url" name="base-url" value="<?= FreshRSS_Context::$system_conf->base_url ?>"
  23. data-leave-validation="<?= FreshRSS_Context::$system_conf->base_url ?>" disabled="disabled" />
  24. <p class="help"><?= _i('help') ?> <?= _t('admin.system.base-url.recommendation', dirname(Minz_Request::guessBaseUrl())) ?></p>
  25. <p class="help"><?= _i('help') ?> <?= _t('admin.system.sensitive-parameter') ?></p>
  26. </div>
  27. </div>
  28. <div class="form-group">
  29. <label class="group-name" for="websub"><?= _t('sub.feed.websub') ?></label>
  30. <div class="group-controls">
  31. <input type="checkbox" id="websub" name="websub" disabled="disabled" <?=
  32. FreshRSS_Context::$system_conf->pubsubhubbub_enabled && Minz_Request::serverIsPublic(FreshRSS_Context::$system_conf->base_url) ? 'checked="checked"' : '' ?> />
  33. <p class="help"><?= _i('help') ?> <?= _t('admin.system.websub.help') ?></p>
  34. <p class="help"><?= _i('help') ?> <?= _t('admin.system.sensitive-parameter') ?></p>
  35. </div>
  36. </div>
  37. <div class="form-group">
  38. <label class="group-name" for="auto-update-url"><?= _t('admin.system.auto-update-url') ?></label>
  39. <div class="group-controls">
  40. <input type="text" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"
  41. data-leave-validation="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"/>
  42. </div>
  43. </div>
  44. <div class="form-group">
  45. <label class="group-name" for="max-feeds"><?= _t('admin.system.max-feeds') ?></label>
  46. <div class="group-controls">
  47. <input type="number" id="max-feeds" name="max-feeds" value="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>" min="1"
  48. data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>"/>
  49. </div>
  50. </div>
  51. <div class="form-group">
  52. <label class="group-name" for="max-categories"><?= _t('admin.system.max-categories') ?></label>
  53. <div class="group-controls">
  54. <input type="number" id="max-categories" name="max-categories" value="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>" min="1"
  55. data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>"/>
  56. </div>
  57. </div>
  58. <div class="form-group">
  59. <label class="group-name" for="cookie-duration"><?= _t('admin.system.cookie-duration.number') ?></label>
  60. <div class="group-controls">
  61. <input type="number" id="cookie-duration" name="cookie-duration" value="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>" min="0"
  62. data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>"/>
  63. <p class="help"><?= _i('help') ?> <?= _t('admin.system.cookie-duration.help') ?></p>
  64. </div>
  65. </div>
  66. <legend><?= _t('admin.system.registration.title') ?></legend>
  67. <div class="form-group">
  68. <label class="group-name" for="max-registrations-select"><?= _t('admin.system.registration.select.label') ?></label>
  69. <div class="group-controls">
  70. <select class="select-input-changer" name="" data-name="max-registrations">
  71. <option value="1" <?= FreshRSS_Context::$system_conf->limits['max_registrations'] == 1 ? 'selected = "selected"' : ''; ?> data-input-visible="false"><?= _t('admin.system.registration.select.option.noform') ?></option>
  72. <option value="0" <?= FreshRSS_Context::$system_conf->limits['max_registrations'] == 0 ? 'selected = "selected"' : ''; ?> data-input-visible="false"><?= _t('admin.system.registration.select.option.nolimit') ?></option>
  73. <option value="2" <?= FreshRSS_Context::$system_conf->limits['max_registrations'] > 1 ? 'selected = "selected"' : ''; ?> data-input-visible="true"><?= _t('admin.system.registration.select.option.setaccountsnumber') ?></option>
  74. </select>
  75. </div>
  76. </div>
  77. <div class="form-group" id="max-registrations-block">
  78. <label class="group-name" for="max-registrations-input"><?= _t('admin.system.registration.number') ?></label>
  79. <div class="group-controls">
  80. <?php $number = count(listUsers()); ?>
  81. <input type="number" id="max-registrations-input" name="" value="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] > 1 ? FreshRSS_Context::$system_conf->limits['max_registrations'] : $number + 1; ?>" min="2"
  82. data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] > 1 ? FreshRSS_Context::$system_conf->limits['max_registrations'] : $number + 1; ?>" data-number="<?= $number ?>"/>
  83. <span id="max-registrations-status-disabled">(= <?= _t('admin.system.registration.status.disabled') ?>)</span><span id="max-registrations-status-enabled">(= <?= _t('admin.system.registration.status.enabled') ?>)</span>
  84. </div>
  85. </div>
  86. <div class="form-group">
  87. <div class="group-controls">
  88. <?= ($number > 1 ? _t('admin.user.numbers', $number) : _t('admin.user.number', $number)); ?>
  89. </div>
  90. </div>
  91. <div class="form-group">
  92. <label class="group-name"><?= _t('index.tos.title') ?></label>
  93. <div class="group-controls">
  94. <?php if (file_exists(TOS_FILENAME)) { ?>
  95. <?= _t('admin.system.tos.enabled') ?>
  96. <?php
  97. } else { ?>
  98. <?= _t('admin.system.tos.disabled') ?>
  99. <p class="help"><?= _i('help') ?> <?= _t('admin.system.tos.help') ?></p>
  100. <?php } ?>
  101. </div>
  102. </div>
  103. <div class="form-group">
  104. <div class="group-controls">
  105. <label class="checkbox" for="force-email-validation">
  106. <input
  107. type="checkbox"
  108. name="force-email-validation"
  109. id="force-email-validation"
  110. value="1"
  111. <?= FreshRSS_Context::$system_conf->force_email_validation ? 'checked="checked"' : '' ?>
  112. data-leave-validation="<?= FreshRSS_Context::$system_conf->force_email_validation ?>"
  113. />
  114. <?= _t('admin.system.force_email_validation') ?>
  115. </label>
  116. </div>
  117. </div>
  118. <div class="form-group form-actions">
  119. <div class="group-controls">
  120. <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
  121. <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
  122. </div>
  123. </div>
  124. </form>
  125. </main>
  126. <script src="../scripts/config.js?<?= @filemtime(PUBLIC_PATH . '/scripts/config.js') ?>"></script>