integration.phtml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. declare(strict_types=1);
  3. /** @var FreshRSS_View $this */
  4. $this->partial('aside_configure');
  5. ?>
  6. <main class="post">
  7. <div class="link-back-wrapper">
  8. <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
  9. </div>
  10. <h1><?= _t('conf.sharing') ?></h1>
  11. <form method="post" action="<?= _url('configure', 'integration') ?>" class="draggableList">
  12. <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
  13. <template id="simple-share">
  14. <fieldset class="group-share dragbox">
  15. <legend draggable="true">##label##</legend>
  16. <input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" data-leave-validation="" />
  17. <div class="form-group" id="group-share-##key##">
  18. <label class="group-name" for="share_##key##_name"><?= _t('conf.sharing.share_name') ?></label>
  19. <div class="group-controls">
  20. <input type="text" id="share_##key##_name" name="share[##key##][name]" value="##label##" />
  21. </div>
  22. </div>
  23. <div class="form-group">
  24. <div class="group-controls">
  25. <button type="button" class="remove btn btn-attention" title="<?= _t('conf.sharing.remove') ?>"><?= _t('gen.action.remove') ?></button>
  26. </div>
  27. </div>
  28. </fieldset>
  29. </template>
  30. <template id="advanced-share">
  31. <fieldset class="group-share dragbox">
  32. <legend draggable="true">##label##</legend>
  33. <input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" data-leave-validation="" />
  34. <input type="hidden" id="share_##key##_method" name="share[##key##][method]" value="##method##" />
  35. <input type="hidden" id="share_##key##_field" name="share[##key##][field]" value="##field##" />
  36. <div class="form-group" id="group-share-##key##">
  37. <label class="group-name" for="share_##key##_name"><?= _t('conf.sharing.share_name') ?></label>
  38. <div class="group-controls">
  39. <input type="text" id="share_##key##_name" name="share[##key##][name]" value="" />
  40. </div>
  41. </div>
  42. <div class="form-group" id="group-share-##key##">
  43. <label class="group-name" for="share_##key##_url"><?= _t('conf.sharing.share_url') ?></label>
  44. <div class="group-controls">
  45. <input type="url" id="share_##key##_url" name="share[##key##][url]" class="long" value="" required />
  46. <p class="help"><?= _i('help') ?> <a href="##help##" target="_blank" rel="noreferrer"><?= _t('conf.sharing.more_information') ?></a></p>
  47. </div>
  48. </div>
  49. <div class="form-group">
  50. <div class="group-controls">
  51. <button type="button" class="remove btn btn-attention" title="<?= _t('conf.sharing.remove') ?>"><?= _t('gen.action.remove') ?></button>
  52. </div>
  53. </div>
  54. </fieldset>
  55. </template>
  56. <?php
  57. foreach (FreshRSS_Context::userConf()->sharing as $key => $share_options) {
  58. $share = FreshRSS_Share::get($share_options['type']);
  59. if ($share === null) {
  60. continue;
  61. }
  62. $share->update($share_options);
  63. ?>
  64. <fieldset class="group-share dragbox" id="group-share-<?= $key ?>">
  65. <legend draggable="true"><?= $share->name(true) ?></legend>
  66. <input type="hidden" id="share_<?= $key ?>_type" name="share[<?= $key ?>][type]" value="<?= $share->type() ?>" />
  67. <input type="hidden" id="share_<?= $key ?>_method" name="share[<?= $key ?>][method]" value="<?= $share->method() ?>" />
  68. <input type="hidden" id="share_<?= $key ?>_field" name="share[<?= $key ?>][field]" value="<?= $share->field() ?>" />
  69. <?php if ($share->isDeprecated()) { ?>
  70. <div class="prompt alert alert-warn">
  71. <p><?= _t('conf.sharing.deprecated') ?></p>
  72. </div>
  73. <?php } ?>
  74. <div class="form-group">
  75. <label class="group-name" for="share_<?= $key ?>_name">
  76. <?= _t('conf.sharing.share_name') ?>
  77. </label>
  78. <div class="group-controls">
  79. <input type="text" id="share_<?= $key ?>_name" name="share[<?= $key ?>][name]" value="<?= $share->name() ?>"
  80. data-leave-validation="<?= $share->name() ?>" />
  81. </div>
  82. </div>
  83. <div class="form-group">
  84. <?php if ($share->formType() === 'advanced') { ?>
  85. <label class="group-name" for="share_<?= $key ?>_url">
  86. <?= _t('conf.sharing.share_url') ?>
  87. </label>
  88. <div class="group-controls">
  89. <div class="stick">
  90. <input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="long" value="<?= $share->baseUrl() ?>"
  91. data-leave-validation="<?= $share->baseUrl() ?>" required />
  92. <a class="btn open-url" target="_blank" rel="noreferrer" href="<?= $share->baseUrl() ?>" title="<?= _t('gen.action.open_url') ?>" data-input="share_<?= $key ?>_url"><?= _i('link') ?></a>
  93. </div>
  94. <p class="help"><?= _i('help') ?> <a href="<?= $share->help() ?>" target="_blank" rel="noreferrer"><?= _t('conf.sharing.more_information') ?></a></p>
  95. </div>
  96. <?php } ?>
  97. </div>
  98. <div class="form-group">
  99. <div class="group-controls">
  100. <button type="button" class="remove btn btn-attention" title="<?= _t('conf.sharing.remove') ?>"><?= _t('gen.action.remove') ?></button>
  101. </div>
  102. </div>
  103. </fieldset>
  104. <?php } ?>
  105. <fieldset>
  106. <legend><?= _t('conf.sharing.add') ?></legend>
  107. <div class="form-group">
  108. <div class="group-controls">
  109. <div class="stick">
  110. <select>
  111. <?php foreach (FreshRSS_Share::enum() as $share) { ?>
  112. <option value='<?= $share->type() ?>' data-form='<?= $share->formType() ?>' data-help='<?= $share->help() ?>'
  113. data-method='<?= $share->method() ?>' data-field='<?= $share->field() ?>'>
  114. <?= $share->name(true) ?>
  115. </option>
  116. <?php } ?>
  117. </select>
  118. <a href='#' class='share add btn' title="<?= _t('conf.sharing.add') ?>"><?= _i('add') ?></a>
  119. </div>
  120. </div>
  121. </div>
  122. </fieldset>
  123. <div class="form-group form-actions">
  124. <div class="group-controls">
  125. <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
  126. </div>
  127. </div>
  128. </form>
  129. </main>