integration.phtml 5.8 KB

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