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