login_form.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <html>
  2. <head>
  3. <title>Tiny Tiny RSS : Login</title>
  4. <link rel="stylesheet" type="text/css" href="lib/dijit/themes/claro/claro.css"/>
  5. <link rel="stylesheet" type="text/css" href="tt-rss.css">
  6. <link rel="shortcut icon" type="image/png" href="images/favicon.png">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8. <script type="text/javascript" src="lib/dojo/dojo.js" djConfig="parseOnLoad: true"></script>
  9. <script type="text/javascript" src="lib/prototype.js"></script>
  10. <script type="text/javascript" src="lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls"></script>
  11. <script type="text/javascript" src="functions.js"></script>
  12. <script type="text/javascript" charset="utf-8" src="errors.php?mode=js"></script>
  13. </head>
  14. <body id="ttrssLogin" class="claro">
  15. <script type="text/javascript">
  16. function init() {
  17. dojo.require("dijit.Dialog");
  18. var test = setCookie("ttrss_test", "TEST");
  19. if (getCookie("ttrss_test") != "TEST") {
  20. return fatalError(2);
  21. }
  22. var limit_set = getCookie("ttrss_bwlimit");
  23. if (limit_set == "true") {
  24. document.forms["loginForm"].bw_limit.checked = true;
  25. }
  26. document.forms["loginForm"].login.focus();
  27. }
  28. function fetchProfiles() {
  29. try {
  30. var params = Form.serialize('loginForm');
  31. var query = "?op=getProfiles&" + params;
  32. if (query) {
  33. new Ajax.Request("backend.php", {
  34. parameters: query,
  35. onComplete: function(transport) {
  36. if (transport.responseText.match("select")) {
  37. $('profile_box').innerHTML = transport.responseText;
  38. }
  39. } });
  40. }
  41. } catch (e) {
  42. exception_error("fetchProfiles", e);
  43. }
  44. }
  45. function languageChange(elem) {
  46. try {
  47. document.forms['loginForm']['click'].disabled = true;
  48. var lang = elem[elem.selectedIndex].value;
  49. setCookie("ttrss_lang", lang, <?php print SESSION_COOKIE_LIFETIME ?>);
  50. window.location.reload();
  51. } catch (e) {
  52. exception_error("languageChange", e);
  53. }
  54. }
  55. function gotoRegForm() {
  56. window.location.href = "register.php";
  57. return false;
  58. }
  59. function bwLimitChange(elem) {
  60. try {
  61. var limit_set = elem.checked;
  62. setCookie("ttrss_bwlimit", limit_set,
  63. <?php print SESSION_COOKIE_LIFETIME ?>);
  64. } catch (e) {
  65. exception_error("bwLimitChange", e);
  66. }
  67. }
  68. function validateLoginForm(f) {
  69. try {
  70. if (f.login.value.length == 0) {
  71. new Effect.Highlight(f.login);
  72. return false;
  73. }
  74. if (f.password.value.length == 0) {
  75. new Effect.Highlight(f.password);
  76. return false;
  77. }
  78. document.forms['loginForm']['click'].disabled = true;
  79. return true;
  80. } catch (e) {
  81. exception_error("validateLoginForm", e);
  82. return true;
  83. }
  84. }
  85. </script>
  86. <script type="text/javascript">
  87. Event.observe(window, 'load', function() {
  88. init();
  89. });
  90. </script>
  91. <form action="" method="POST" id="loginForm" name="loginForm" onsubmit="return validateLoginForm(this)">
  92. <input type="hidden" name="login_action" value="do_login">
  93. <table class="loginForm2">
  94. <tr>
  95. <td class="loginTop" valign="bottom" align="left">
  96. <img src="images/logo_wide.png">
  97. </td>
  98. </tr><tr>
  99. <td align="center" valign="middle" class="loginMiddle" height="100%">
  100. <?php if ($_SESSION['login_error_msg']) { ?>
  101. <div class="loginError"><?php echo $_SESSION['login_error_msg'] ?></div>
  102. <?php $_SESSION['login_error_msg'] = ""; ?>
  103. <?php } ?>
  104. <table>
  105. <tr><td align="right"><?php echo __("Login:") ?></td>
  106. <td align="right"><input name="login"
  107. onchange="fetchProfiles()" onfocus="fetchProfiles()"
  108. value="<?php echo get_remote_user($link) ?>"></td></tr>
  109. <tr><td align="right"><?php echo __("Password:") ?></td>
  110. <td align="right"><input type="password" name="password"
  111. onchange="fetchProfiles()" onfocus="fetchProfiles()"
  112. value="<?php echo get_remote_fakepass($link) ?>"></td></tr>
  113. <tr><td align="right"><?php echo __("Language:") ?></td>
  114. <td align="right">
  115. <?php
  116. print_select_hash("language", $_COOKIE["ttrss_lang"], get_translations(),
  117. "style='width : 100%' onchange='languageChange(this)'");
  118. ?>
  119. </td></tr>
  120. <tr><td align="right"><?php echo __("Profile:") ?></td>
  121. <td align="right" id="profile_box">
  122. <select style='width : 100%' disabled='disabled'>
  123. <option><?php echo __("Default profile") ?></option></select>
  124. </td></tr>
  125. <!-- <tr><td colspan="2">
  126. <input type="checkbox" name="remember_me" id="remember_me">
  127. <label for="remember_me">Remember me on this computer</label>
  128. </td></tr> -->
  129. <tr><td colspan="2" align="right" class="innerLoginCell">
  130. <button type="submit" name='click'><?php echo __('Log in') ?></button>
  131. <?php if (defined('ENABLE_REGISTRATION') && ENABLE_REGISTRATION) { ?>
  132. <button onclick="return gotoRegForm()">
  133. <?php echo __("Create new account") ?></button>
  134. <?php } ?>
  135. <input type="hidden" name="action" value="login">
  136. <input type="hidden" name="rt"
  137. value="<?php if ($return_to != 'none') { echo $return_to; } ?>">
  138. </td></tr>
  139. <tr><td colspan="2" align="right" class="innerLoginCell">
  140. <div class="small">
  141. <input name="bw_limit" id="bw_limit" type="checkbox"
  142. onchange="bwLimitChange(this)">
  143. <label for="bw_limit">
  144. <?php echo __("Use less traffic") ?></label></div>
  145. </td></tr>
  146. </table>
  147. </td>
  148. </tr><tr>
  149. <td align="center" class="loginBottom">
  150. <a href="http://tt-rss.org/">Tiny Tiny RSS</a>
  151. <?php if (!defined('HIDE_VERSION')) { ?>
  152. v<?php echo VERSION ?>
  153. <?php } ?>
  154. &copy; 2005&ndash;<?php echo date('Y') ?> <a href="http://fakecake.org/">Andrew Dolgov</a>
  155. </td>
  156. </tr>
  157. </table>
  158. </form>
  159. </body></html>