]> git.wh0rd.org - tt-rss.git/blob - include/login_form.php
login form: focus login field
[tt-rss.git] / include / login_form.php
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"></script>
9 <script type="text/javascript" src="lib/dijit/dijit.js"></script>
10 <script type="text/javascript" src="lib/dojo/tt-rss-layer.js"></script>
11 <script type="text/javascript" src="lib/prototype.js"></script>
12 <script type="text/javascript" src="js/functions.js"></script>
13 <script type="text/javascript" charset="utf-8" src="errors.php?mode=js"></script>
14 <script type="text/javascript">
15 Event.observe(window, 'load', function() {
16 init();
17 });
18 </script>
19 <style type="text/css">
20 body#ttrssLogin {
21 padding : 2em;
22 font-size : 14px;
23 }
24
25 fieldset {
26 margin-left : auto;
27 margin-right : auto;
28 display : block;
29 width : 400px;
30 border-width : 0px;
31 }
32
33 input.input {
34 font-family : sans-serif;
35 font-size : medium;
36 border-spacing : 2px;
37 border : 1px solid #b5bcc7;
38 padding : 2px;
39 }
40
41 label {
42 width : 120px;
43 margin-right : 20px;
44 display : inline-block;
45 text-align : right;
46 color : gray;
47 }
48
49 div.header {
50 border-width : 0px 0px 1px 0px;
51 border-style : solid;
52 border-color : #88b0f0;
53 margin-bottom : 1em;
54 padding-bottom : 5px;
55 }
56
57 div.footer {
58 margin-top : 1em;
59 padding-top : 5px;
60 border-width : 1px 0px 0px 0px;
61 border-style : solid;
62 border-color : #88b0f0;
63 text-align : center;
64 color : gray;
65 font-size : 12px;
66 }
67
68 div.footer a {
69 color : gray;
70 }
71
72 div.footer a:hover {
73 color : #88b0f0;
74 }
75
76 div.row {
77 padding : 0px 0px 5px 0px;
78 }
79
80 div.row-error {
81 color : red;
82 text-align : center;
83 padding : 0px 0px 5px 0px;
84 }
85
86 </style>
87 </head>
88
89 <body id="ttrssLogin" class="claro">
90
91 <script type="text/javascript">
92 function init() {
93 dojo.require("dijit.form.Button");
94 dojo.require("dijit.form.CheckBox");
95 dojo.require("dijit.form.Form");
96 dojo.require("dijit.form.Select");
97 dojo.require("dijit.form.TextBox");
98 dojo.require("dijit.form.ValidationTextBox");
99
100 dojo.parser.parse();
101
102 fetchProfiles();
103
104 dijit.byId("bw_limit").attr("checked", getCookie("ttrss_bwlimit") == 'true');
105
106 document.forms.loginForm.login.focus();
107 }
108
109 function fetchProfiles() {
110 try {
111 var query = "?op=getProfiles&login=" + param_escape(document.forms["loginForm"].login.value);
112
113 if (query) {
114 new Ajax.Request("public.php", {
115 parameters: query,
116 onComplete: function(transport) {
117 if (transport.responseText.match("select")) {
118 $('profile_box').innerHTML = transport.responseText;
119 dojo.parser.parse('profile_box');
120 }
121 } });
122 }
123
124 } catch (e) {
125 exception_error("fetchProfiles", e);
126 }
127 }
128
129
130 function gotoRegForm() {
131 window.location.href = "register.php";
132 return false;
133 }
134
135 function bwLimitChange(elem) {
136 try {
137 var limit_set = elem.checked;
138
139 setCookie("ttrss_bwlimit", limit_set,
140 <?php print SESSION_COOKIE_LIFETIME ?>);
141
142 } catch (e) {
143 exception_error("bwLimitChange", e);
144 }
145 }
146 </script>
147
148 <?php $return = urlencode($_SERVER["REQUEST_URI"]) ?>
149
150 <form action="public.php?return=<?php echo $return ?>"
151 dojoType="dijit.form.Form" method="POST" id="loginForm" name="loginForm">
152
153 <input dojoType="dijit.form.TextBox" style="display : none" name="op" value="login">
154
155 <div class='header'>
156 <img src="images/logo_wide.png">
157 </div>
158
159 <div class='form'>
160
161 <fieldset>
162 <?php if ($_SESSION["login_error_msg"]) { ?>
163 <div class="row-error">
164 <?php echo $_SESSION["login_error_msg"] ?>
165 </div>
166 <?php $_SESSION["login_error_msg"] = ""; ?>
167 <?php } ?>
168 <div class="row">
169 <label><?php echo __("Login:") ?></label>
170 <input name="login" class="input"
171 onchange="fetchProfiles()" onfocus="fetchProfiles()" onblur="fetchProfiles()"
172 style="width : 220px"
173 required="1"
174 value="<?php echo $_SESSION["fake_login"] ?>" />
175 </div>
176
177 <div class="row">
178 <label><?php echo __("Password:") ?></label>
179 <input type="password" name="password" required="1"
180 style="width : 220px" class="input"
181 value="<?php echo $_SESSION["fake_password"] ?>"/>
182 </div>
183
184 <div class="row">
185 <label><?php echo __("Language:") ?></label>
186 <?php
187 print_select_hash("language", $_COOKIE["ttrss_lang"], get_translations(),
188 "style='width : 220px; margin : 0px' dojoType='dijit.form.Select'");
189 ?>
190 </div>
191
192 <div class="row">
193 <label><?php echo __("Profile:") ?></label>
194
195 <span id='profile_box'><select disabled='disabled' dojoType='dijit.form.Select'
196 style='width : 220px; margin : 0px'>
197 <option><?php echo __("Default profile") ?></option></select></span>
198
199 </div>
200
201 <div class="row">
202 <label>&nbsp;</label>
203 <input dojoType="dijit.form.CheckBox" name="bw_limit" id="bw_limit" type="checkbox"
204 onchange="bwLimitChange(this)">
205 <label style='display : inline' for="bw_limit"><?php echo __("Use less traffic") ?></label>
206 </div>
207
208 <div class="row" style='text-align : right'>
209 <button dojoType="dijit.form.Button" type="submit"><?php echo __('Log in') ?></button>
210 <?php if (defined('ENABLE_REGISTRATION') && ENABLE_REGISTRATION) { ?>
211 <button onclick="return gotoRegForm()" dojoType="dijit.form.Button">
212 <?php echo __("Create new account") ?></button>
213 <?php } ?>
214 </div>
215
216 </fieldset>
217
218
219 </div>
220
221 <div class='footer'>
222 <a href="http://tt-rss.org/">Tiny Tiny RSS</a>
223 <?php if (!defined('HIDE_VERSION')) { ?>
224 v<?php echo VERSION ?>
225 <?php } ?>
226 &copy; 2005&ndash;<?php echo date('Y') ?> <a href="http://fakecake.org/">Andrew Dolgov</a>
227 </div>
228
229 </form>
230
231 </body></html>