options.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <html>
  2. <head>
  3. <title>Tiny Tiny RSS Notifier Options</title>
  4. <link rel="stylesheet" href="style.css" type="text/css"/>
  5. <script type="text/javascript" src="lib/prototype.js"></script>
  6. <script type="text/javascript" src="lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls"></script>
  7. <script type="text/javascript">
  8. function save() {
  9. var s = $("status");
  10. s.innerHTML = "Options saved successfully.";
  11. var f = document.forms['options'];
  12. if (f.site_url.value.length > 0)
  13. localStorage['site_url'] = f.site_url.value;
  14. else {
  15. s.innerHTML = "Error: Site url cannot be blank.";
  16. new Effect.Highlight(f.site_url);
  17. }
  18. if (f.login.value.length > 0)
  19. localStorage['login'] = f.login.value;
  20. else {
  21. s.innerHTML = "Error: Login cannot be blank.";
  22. new Effect.Highlight(f.login);
  23. }
  24. var update_interval = parseInt(f.update_interval.value);
  25. if (update_interval > 0)
  26. localStorage['update_interval'] = f.update_interval.value;
  27. else {
  28. s.innerHTML = "Error: Update interval must be greater than zero.";
  29. new Effect.Highlight(f.update_interval);
  30. }
  31. localStorage['show_badge'] = (f.show_badge.checked) ? "1" : "0";
  32. localStorage['show_fresh'] = (f.show_fresh.checked) ? "1" : "0";
  33. localStorage['single_user'] = (f.single_user.checked) ? "1" : "0";
  34. var d = new Date();
  35. localStorage["prefs_updated"] = d.getTime();
  36. Element.show(s);
  37. return false;
  38. }
  39. function single_user_toggle() {
  40. var f = document.forms['options'];
  41. f.login.disabled = f.single_user.checked;
  42. }
  43. function init() {
  44. var f = document.forms['options'];
  45. if (localStorage['site_url'])
  46. f.site_url.value = localStorage['site_url'];
  47. else
  48. f.site_url.value = "http://example.dom/tt-rss/";
  49. if (localStorage['login'])
  50. f.login.value = localStorage['login'];
  51. else
  52. f.login.value = "user";
  53. if (localStorage['update_interval'])
  54. f.update_interval.value = localStorage['update_interval'];
  55. else
  56. f.update_interval.value = '15';
  57. if (localStorage['show_badge'])
  58. f.show_badge.checked = localStorage['show_badge'] == "1";
  59. else
  60. f.show_badge.checked = true;
  61. if (localStorage['show_fresh'])
  62. f.show_fresh.checked = localStorage['show_fresh'] == "1";
  63. else
  64. f.show_fresh.checked = false;
  65. if (localStorage['single_user'])
  66. f.single_user.checked = localStorage['single_user'] == "1";
  67. else
  68. f.single_user.checked = false;
  69. single_user_toggle();
  70. var last_updated = $('last_updated');
  71. var d = new Date();
  72. d.setTime(localStorage["last_updated"]);
  73. last_updated.innerHTML = d;
  74. }
  75. </script>
  76. <style type="text/css">
  77. fieldset {
  78. border : 0px;
  79. margin : 0px;
  80. clear : left;
  81. line-height : 25px;
  82. }
  83. div#status {
  84. font-size : 14px;
  85. color : #88b0ff;
  86. }
  87. label {
  88. width : 250px;
  89. display : block;
  90. float : left;
  91. text-align : right;
  92. padding-right : 1em;
  93. }
  94. p.last-updated {
  95. color : gray;
  96. }
  97. fieldset span.note {
  98. color : gray;
  99. font-style : italic;
  100. }
  101. </style>
  102. <body onload="init()">
  103. <div class="floatingLogo"><img src="images/ttrss_logo.png"></div>
  104. <h1>Tiny Tiny RSS Notifier</h1>
  105. <p class='last-updated'>Last update: <span id="last_updated">N/A</span></p>
  106. <div style='display : none' id="status"></div>
  107. <h2>Options</h2>
  108. <form name="options" id="options" onsubmit="return save()">
  109. <fieldset>
  110. <label>URL of your Tiny Tiny RSS installation:</label>
  111. <input name="site_url" size="60" value=""/>
  112. </fieldset>
  113. <fieldset>
  114. <label>Login:</label>
  115. <input name="login" size="30" value=""/>
  116. </fieldset>
  117. <fieldset>
  118. <label>Single-user mode:</label>
  119. <input name="single_user" onchange="single_user_toggle()"
  120. type="checkbox" value="1"/>
  121. </fieldset>
  122. <fieldset>
  123. <label>Update interval (in minutes):</label>
  124. <input name="update_interval" size="30" value=""/>
  125. </fieldset>
  126. <fieldset>
  127. <label>Show badge:</label>
  128. <input name="show_badge" type="checkbox" value="1"/>
  129. </fieldset>
  130. <fieldset>
  131. <label>Badge shows fresh articles:</label>
  132. <input name="show_fresh" type="checkbox" value="1"/>
  133. <span class="note">(requires Tiny Tiny RSS 1.4.1 or trunk)</span>
  134. </fieldset>
  135. <input type="submit" value="Save"/>
  136. </form>
  137. <p>Copyright &copy; 2010
  138. <a target="_blank" href="http://tt-rss.org">Andrew Dolgov</a>.
  139. Licensed under GNU GPL version 2.</p>
  140. </body>