editlink.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <?php
  2. /**
  3. * Insipid
  4. * Personal web-bookmark-system
  5. *
  6. * Copyright 2016-2022 Johannes Keßler
  7. *
  8. * Development starting from 2011: Johannes Keßler
  9. * https://www.bananas-playground.net/projekt/insipid/
  10. *
  11. * creator:
  12. * Luke Reeves <luke@neuro-tech.net>
  13. *
  14. * This program is free software: you can redistribute it and/or modify
  15. * it under the terms of the GNU General Public License as published by
  16. * the Free Software Foundation, either version 3 of the License, or
  17. * (at your option) any later version.
  18. *
  19. * This program is distributed in the hope that it will be useful,
  20. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. * GNU General Public License for more details.
  23. *
  24. * You should have received a copy of the GNU General Public License
  25. * along with this program. If not, see http://www.gnu.org/licenses/gpl-3.0.
  26. *
  27. */
  28. ?>
  29. <section class="section">
  30. <?php require('_displaySubmitStatus.inc.php'); ?>
  31. <div class="columns">
  32. <?php require('_headNavIcons.inc.php'); ?>
  33. </div>
  34. <div class="columns">
  35. <div class="column">
  36. <h1 class="is-size-2"><?php echo $linkData['title']; ?></h1>
  37. <h3><a href="index.php?p=linkinfo&id=<?php echo $formData['hash'] ?? ''; ?>">
  38. <i class="icon ion-md-return-left"></i></a></h3>
  39. </div>
  40. </div>
  41. </section>
  42. <section class="section">
  43. <form method="post" autocomplete="off">
  44. <div class="columns">
  45. <div class="column is-one-quarter">
  46. <p><?php echo $T->t('view.date.added'); ?></p>
  47. </div>
  48. <div class="column">
  49. <p>
  50. <?php echo $linkData['created']; ?>
  51. (<?php echo $T->t('edit.link.last.update'); ?> <?php echo $linkData['updated']; ?>)
  52. </p>
  53. </div>
  54. </div>
  55. <div class="columns">
  56. <div class="column is-one-quarter">
  57. <p><?php echo $T->t('view.title'); ?></p>
  58. </div>
  59. <div class="column">
  60. <input class="input" type="text" name="data[title]" value="<?php echo $formData['title'] ?? ''; ?>" />
  61. </div>
  62. </div>
  63. <div class="columns">
  64. <div class="column is-one-quarter">
  65. <p><?php echo $T->t('view.description'); ?></p>
  66. </div>
  67. <div class="column">
  68. <input class="input" type="text" name="data[description]" value="<?php echo $formData['description'] ?? ''; ?>" />
  69. </div>
  70. </div>
  71. <div class="columns">
  72. <div class="column is-one-quarter">
  73. <p><?php echo $T->t('view.url'); ?></p>
  74. </div>
  75. <div class="column">
  76. <p><a href="<?php echo $linkData['link']; ?>" target="_blank"><?php echo $linkData['link']; ?></a></p>
  77. </div>
  78. </div>
  79. <div class="columns">
  80. <div class="column is-one-quarter">
  81. <p>
  82. <?php echo $T->t('view.image'); ?>: (<small><?php echo $T->t('view.image.provided'); ?></small>)
  83. </p>
  84. </div>
  85. <div class="column">
  86. <p>
  87. <img class="linkthumbnail" src="<?php echo $linkData['imageToShow']; ?>" alt="<?php echo $T->t('view.image.noimage'); ?>">
  88. </p>
  89. <input class="input" type="text" name="data[image]" value="<?php echo $formData['image'] ?? ''; ?>" /><br />
  90. <br />
  91. <label class="checkbox">
  92. <input type="checkbox" name="data[localImage]" value="1" <?php if(isset($formData['localImage'])) echo "checked"; ?> />
  93. <?php echo $T->t('edit.link.image.save'); ?>
  94. </label>
  95. </div>
  96. </div>
  97. <div class="columns">
  98. <div class="column is-one-quarter">
  99. <p>
  100. <?php echo $T->t('edit.link.thumbnail.webpage'); ?>
  101. </p>
  102. </div>
  103. <div class="column">
  104. <?php if(isset($linkData['snapshotLink'])) { ?>
  105. <p><a href="<?php echo $linkData['snapshotLink']; ?>" target="_blank"><?php echo $T->t('edit.link.thumbnail.view'); ?></a></p>
  106. <?php } ?>
  107. <label class="checkbox">
  108. <input type="checkbox" name="data[snapshot]" value="1" <?php if(isset($formData['snapshot'])) echo "checked"; ?> />
  109. <?php echo $T->t('edit.link.thumbnail.save'); ?>
  110. </label>
  111. </div>
  112. </div>
  113. <?php if(defined('COMPLETE_PAGE_SCREENSHOT') && COMPLETE_PAGE_SCREENSHOT === true) { ?>
  114. <div class="columns">
  115. <div class="column is-one-quarter">
  116. <p>
  117. <?php echo $T->t('edit.link.full.screenshot'); ?>
  118. </p>
  119. </div>
  120. <div class="column">
  121. <?php if(isset($linkData['pagescreenshotLink'])) { ?>
  122. <p><a href="<?php echo $linkData['pagescreenshotLink']; ?>" target="_blank"><?php echo $T->t('edit.link.full.screenshot.view'); ?></a></p>
  123. <?php } ?>
  124. <label class="checkbox">
  125. <input type="checkbox" name="data[pagescreenshot]" value="1" <?php if(isset($formData['pagescreenshot'])) echo "checked"; ?> />
  126. <?php echo $T->t('edit.link.full.screenshot.save'); ?>
  127. </label>
  128. </div>
  129. </div>
  130. <?php } ?>
  131. <div class="columns">
  132. <div class="column is-one-quarter">
  133. <p><?php echo $T->t('view.tags'); ?></p>
  134. </div>
  135. <div class="column">
  136. <div class="field is-grouped is-grouped-multiline" id="tag-listbox">
  137. <div class="control" id="tag-template" style="display: none;">
  138. <div class="tags has-addons">
  139. <span class="tag"></span>
  140. <a class="tag is-delete" onclick="removeTag('','tag')"></a>
  141. </div>
  142. </div>
  143. <?php foreach($formData['tags'] as $t) { ?>
  144. <div class="control" id="tag-<?php echo $t; ?>">
  145. <div class="tags has-addons">
  146. <span class="tag"><?php echo $t; ?></span>
  147. <a class="tag is-delete" onclick="removeTag('<?php echo $t; ?>','tag')"></a>
  148. </div>
  149. </div>
  150. <?php } ?>
  151. </div>
  152. <div class="field">
  153. <div class="control">
  154. <input type="text" placeholder="tagname"
  155. name="taglistinput" list="tag-datalist" value="" onkeypress="addTag(event,'tag')" />
  156. </div>
  157. <p class="help"><?php echo $T->t('edit.link.tags.description'); ?></p>
  158. </div>
  159. <datalist id="tag-datalist">
  160. <?php foreach($existingTags as $t) { ?>
  161. <option value="<?php echo $t['name']; ?>"><?php echo $t['name']; ?></option>
  162. <?php } ?>
  163. </datalist>
  164. <input type="hidden" name="data[tag]" id="tag-save" value="<?php echo implode(',',$formData['tags']); ?>" />
  165. </div>
  166. </div>
  167. <div class="columns">
  168. <div class="column is-one-quarter">
  169. <p><?php echo $T->t('view.category'); ?></p>
  170. </div>
  171. <div class="column">
  172. <div class="field is-grouped is-grouped-multiline" id="category-listbox">
  173. <div class="control" id="category-template" style="display: none;">
  174. <div class="tags has-addons">
  175. <span class="tag"></span>
  176. <a class="tag is-delete" onclick="removeTag('','category')"></a>
  177. </div>
  178. </div>
  179. <?php foreach($formData['categories'] as $t) { ?>
  180. <div class="control" id="category-<?php echo $t; ?>">
  181. <div class="tags has-addons">
  182. <span class="tag"><?php echo $t; ?></span>
  183. <a class="tag is-delete" onclick="removeTag('<?php echo $t; ?>','category')"></a>
  184. </div>
  185. </div>
  186. <?php } ?>
  187. </div>
  188. <div class="field">
  189. <div class="control">
  190. <input type="text" placeholder="categoryname"
  191. name="categorylistinput" list="category-datalist" value="" onkeypress="addTag(event,'category')" />
  192. </div>
  193. <p class="help"><?php echo $T->t('edit.link.tags.description'); ?></p>
  194. </div>
  195. <datalist id="category-datalist">
  196. <?php foreach($existingCategories as $c) { ?>
  197. <option value="<?php echo $c['name']; ?>"><?php echo $c['name']; ?></option>
  198. <?php } ?>
  199. </datalist>
  200. <input type="hidden" name="data[category]" id="category-save" value="<?php echo implode(',',$formData['categories']); ?>" />
  201. </div>
  202. </div>
  203. <div class="columns">
  204. <div class="column is-one-quarter">
  205. <label><?php echo $T->t('edit.link.options'); ?></label>
  206. </div>
  207. <div class="column">
  208. <label class="checkbox">
  209. <input type="checkbox" name="data[private]" value="1" <?php if(isset($formData['private'])) echo "checked"; ?> />
  210. <?php echo $T->t('view.private'); ?>
  211. </label>
  212. </div>
  213. </div>
  214. <div class="columns">
  215. <div class="column is-one-quarter">
  216. &nbsp;
  217. </div>
  218. <div class="column">
  219. <input type="submit" class="button is-info" name="refreshlink" value="<?php echo $T->t('edit.link.refresh'); ?>">
  220. <input type="submit" class="button is-success" name="editlink" value="<?php echo $T->t('edit.link.save'); ?>">
  221. </div>
  222. </div>
  223. <div class="columns">
  224. <div class="column is-one-quarter">
  225. <label><?php echo $T->t('edit.link.delete'); ?></label>
  226. <input class="checkbox" type="checkbox" name="data[delete]" value="1" />
  227. </div>
  228. <div class="column">
  229. <input type="submit" class="button is-danger" name="deleteLink" value="<?php echo $T->t('edit.link.delete'); ?>">
  230. </div>
  231. </div>
  232. </form>
  233. </section>
  234. <script type="text/javascript" src="asset/js/editlink.js"></script>