blob: c51924b1f6866c76be1211b77b6f67545b176aad [file] [log] [blame]
Nico Huberee52fbc2023-06-24 11:52:57 +00001<!-- BEGIN: main --><!DOCTYPE html>
2<html lang="en">
3 <!-- :mode=html: $Id$ -->
4 <head>
5 <title>{title} - SimpleID</title>
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta name="SimpleID-Version" content="{version}" />
8 <meta name="robots" content="noindex,nofollow" />
9 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
10 <link rel="shortcut icon" href="{base_path}html/simpleid.ico" type="image/x-icon" />
11
12 <!-- BEGIN: provider -->
13 <link rel="openid.server" href="{provider}" />
14 <link rel="openid2.provider" href="{provider}" />
15 <meta content="{xrds}" http-equiv="X-XRDS-Location" />
16 <!-- END: provider -->
17 <!-- BEGIN: local_id -->
18 <link rel="openid.delegate" href="{local_id}" />
19 <link rel="openid2.local_id" href="{local_id}" />
20 <!-- END: local_id -->
21
22 <link rel="stylesheet" href="{base_path}html/simpleid.css" />
23 <style type="text/css" media="screen">
24 {css}
25 </style>
26
27 <script src="{base_path}html/jquery.js" type="text/javascript"></script>
28 <script type="text/javascript">
29 var l = {
30 <!-- BEGIN: js_locale -->"{js_locale_label}": "{js_locale_text}",<!-- END: js_locale -->
31 };
32 </script>
33 <!-- BEGIN: framekiller -->
34 <script type="text/javascript">
35 $(document).ready(function() {
36 if (top !== self) top.location.replace(self.location.href);
37 });
38 </script>
39 <!-- END: framekiller -->
40 {javascript}
41 </head>
42 <body class="{page_class}">
43 <div id="header"><div id="header-inner">
44 <!-- BEGIN: nav_toggle --><div id="nav-toggle"><img src="{base_path}html/nav-toggle.png" /></div><!-- END: nav_toggle -->
45 <div id="logo">
46 <h1><a href="http://simpleid.org/">SimpleID</a> <span class="version">{version}</span></h1>
47 </div>
48 <!-- BEGIN: user -->
49 <div id="user-toggle"><img src="{base_path}html/user-toggle.png" /></div>
50 <div id="user">
51 <div class="logged-in-as">
52 <span><strong title="{identity}" class="identity">{uid}</strong></span>
53 <!-- BEGIN: logout --><span id="logout"><a href="{url}">{logout}</a></span><!-- END: logout -->
54 </div>
55 </div>
56 <!-- END: user -->
57 <div style="clear: both;"></div>
58 </div></div>
59 <!-- BEGIN: nav -->
60 <div id="nav"><div id="nav-inner">
61 <ul id="nav-left">
62 <li><a href="{nav_base}">{nav_dashboard_label}</a></li>
63 <li><a href="{nav_base}my/profile">{nav_profile_label}</a></li>
64 <li><a href="{nav_base}my/sites">{nav_sites_label}</a></li>
65 </ul>
66 <div style="clear: both"></div>
67 </div></div>
68 <!-- END: nav -->
69 <div id="content"><div id="content-inner">
70 <h1>{title}</h1>
71
72 <!-- BEGIN: message -->
73 <div class="message">
74 <p>{message}</p>
75 </div>
76 <!-- END: message -->
77
78 <!-- BEGIN: login -->
79 <!-- BEGIN: login_security -->
80 <div class="login-security {security_class}">
81 <p>{security_message}</p>
82 </div>
83 <!-- END: login_security -->
84
85 <form action="{base_path}index.php" method="post" enctype="application/x-www-form-urlencoded" id="login-form">
86 <input type="hidden" name="q" value="login"/><input name="destination" type="hidden" value="{destination}"/>
87 <input type="hidden" name="mode" value="{mode}"/><input type="hidden" name="nonce" value="{nonce}" />
88
89 <!-- BEGIN: credentials -->
90 <input type="hidden" name="digest" id="edit-digest" value="" />
91
92 <div class="form-item">
93 <label for="edit-name">{name_label}</label>
94 <!-- BEGIN: input_uid --><input type="text" maxlength="60" name="name" id="edit-name" value="" autocapitalize="off" autocorrect="off" class="form-text required" {security_disabled} /><!-- END: input_uid -->
95 <!-- BEGIN: fixed_uid --><input type="hidden" name="name" value="{uid}"/><input type="hidden" name="fixed_uid" value="1"/><div id="edit-name">{uid}</div><!-- END: fixed_uid -->
96 </div>
97 <div class="form-item">
98 <label for="edit-pass">{pass_label}</label>
99 <input type="password" name="pass" id="edit-pass" size="60" class="form-text required" {security_disabled} />
100 </div>
101 <div class="form-item">
102 <label class="option">
103 <input type="checkbox" name="autologin" value="1" />
104 {autologin_label}
105 </label>
106 </div>
107 <!-- END: credentials -->
108
109 <!-- BEGIN: otp -->
110 <input type="hidden" name="autologin" value="{autologin}" />
111
112 <p>{otp_instructions_label}</p>
113
114 <p>{otp_recovery_label}</p>
115
116 <div class="form-item">
117 <label for="edit-otp">{otp_label}</label>
118 <input type="number" maxlength="6" name="otp" id="edit-otp" size="10" value="" autocapitalize="off" autocorrect="off" class="form-text required" />
119 </div>
120 <!--div class="form-item">
121 <label class="option">
122 <input type="checkbox" name="autoverify" value="1" />
123 {autoverify_label}
124 </label>
125 </div-->
126 <!-- END: otp -->
127
128 <input type="submit" name="op" id="edit-submit" value="{submit_button}" class="form-default" {security_disabled} />
129 <!-- BEGIN: state -->
130 <input type="submit" name="op" id="edit-cancel" value="{cancel_button}" />
131 <input type="hidden" name="s" value="{state}"/>
132 <!-- END: state -->
133 </form>
134 <!-- END: login -->
135
136 <!-- BEGIN: openid_consent -->
137 <form action="{base_path}index.php" method="post" enctype="application/x-www-form-urlencoded" id="rp-form">
138 <input type="hidden" name="q" value="openid/consent" />
139 <input type="hidden" name="s" value="{state}" />
140 <input name="tk" type="hidden" value="{token}"/>
141
142 <!-- BEGIN: icon -->
143 <div class="icon">
144 <img src="{icon_url}" alt="" />
145 </div>
146 <!-- END: icon -->
147
148 <!-- BEGIN: setup -->
149 <input type="hidden" name="openid.realm" value="{realm}" />
150
151 <p>{realm_label}</p>
152
153 <!-- BEGIN: suspect -->
154 <div class="message unsecure">
155 <p>{suspect_label}</p>
156 </div>
157 <!-- END: suspect -->
158
159 <div class="form-item">
160 <label class="option">
161 <input class="{realm_class}" type="checkbox" name="autorelease" {auto_release} value="1" />
162 {auto_release_label}
163 </label>
164 </div>
165
166 {extensions}
167
168 <input type="submit" name="op" id="edit-submit" value="{ok_button}" class="form-default" />
169 <input type="submit" name="op" id="edit-cancel" value="{cancel_button}" />
170 <!-- END: setup -->
171
172 <!-- BEGIN: cancel -->
173 <input type="hidden" name="openid.return_to" value="{return_to}" />
174
175 <p>{unable_label}</p>
176
177 <p>{identity_not_matching_label}</p>
178
179 <p>{switch_user_label}</p>
180
181 <input type="submit" name="op" id="edit-cancel" value="{cancel_button}" class="form-default" />
182 <!-- END: cancel -->
183 </form>
184 <!-- END: openid_consent -->
185
186 <!-- BEGIN: blocks -->
187 {blocks}
188 <!-- END: blocks -->
189
190 <!-- BEGIN: sites -->
191 <form action="{base_path}index.php" method="post" enctype="application/x-www-form-urlencoded" >
192 <input name="q" type="hidden" value="my/sites" />
193 <input name="tk" type="hidden" value="{token}"/>
194 <input name="update-all" type="hidden" value="1"/>
195 <table id="sites">
196 <thead>
197 <tr>
198 <th>{realm_label}</th>
199 <th>{last_time_label}</th>
200 <th>{auto_release_label}</th>
201 <th>{remove_label}</th>
202 </tr>
203 </thead>
204 <tbody>
205 <!-- BEGIN:realm -->
206 <tr>
207 <td><span class="realm">{realm_name}</span></td>
208 <td><span class="last-time">{last_time}</span> {last_time_formatted}</td>
209 <td><input class="{realm_class}" type="checkbox" value="1" name="autorelease[{realm}]" {auto_release}/></td>
210 <td><input type="checkbox" value="1" name="remove[{realm}]"/></td>
211 </tr>
212 <!-- END: realm -->
213 </tbody>
214 </table>
215 <input type="submit" name="op" id="edit-submit" value="{submit_button}" class="form-default" {disabled} />
216 </form>
217 <!-- END: sites -->
218
219 <!-- BEGIN: otp -->
220 <p>{about_otp}</p>
221
222 <p>{otp_warning}</p>
223
224 <p>{setup_otp}</p>
225
226 <ol>
227 <li>{download_app}</li>
228 <li>{add_account}
229 <div class="otp-key"><span class="otp-letters">{secret1}</span><span class="otp-letters">{secret5}</span><span class="otp-letters">{secret9}</span><span class="otp-letters">{secret13}</span></div>
230 <div id="otp-key-qr"></div>
231 </li>
232 <li>{verify_code}</li>
233 </ol>
234
235 <script src="{base_path}html/jquery.qrcode.js" type="text/javascript"></script><script type="text/javascript">$('#otp-key-qr').qrcode("{qr}");</script>
236
237 <form action="{base_path}index.php" method="post" enctype="application/x-www-form-urlencoded">
238 <input type="hidden" name="q" value="otp"/><input type="hidden" name="tk" value="{token}"/>
239
240 <div class="form-item">
241 <label for="edit-otp">{otp_label}</label>
Nico Huber097e9e22023-07-21 14:26:07 +0000242 <input type="text" inputmode="numeric" maxlength="6" name="otp" id="edit-otp" size="10" value="" autocapitalize="off" autocorrect="off" class="form-text required" />
Nico Huberee52fbc2023-06-24 11:52:57 +0000243 </div>
244 <input type="submit" name="op" id="edit-submit" value="{submit_button}" class="form-default" />
245 </form>
246
247 <!-- END: otp -->
248
249 <!-- BEGIN: upgrade_access_denied -->
250 <p>{login_required}</p>
251
252 <p>{edit_upgrade_php}</p>
253
254 <ol>
255 <li>{edit_upgrade_php1}</li>
256 <li>{edit_upgrade_php2}</li>
257 <li>{edit_upgrade_php3}</li>
258 <li>{edit_upgrade_php4}</li>
259 </ol>
260
261 <p>{simpleid_docs}</p>
262 <!-- END: upgrade_access_denied -->
263
264 <!-- BEGIN: upgrade_info -->
265 <p>{intro}</p>
266
267 <p>{simpleid_docs}</p>
268
269 <ol>
270 <li>{step1}</li>
271 <li>{step2}</li>
272 </ol>
273
274 <p>{click_continue}</p>
275
276 <form method="post" action="{base_path}upgrade.php">
277 <input type="hidden" name="q" value="upgrade-selection" />
278 <input type="hidden" name="tk" value="{token}" />
279 <input type="submit" value="{continue_button}" />
280 </form>
281 <!-- END: upgrade_info -->
282
283 <!-- BEGIN: upgrade_selection -->
284 <p>{version_detected}</p>
285
286 <p>{original_version_label}: <strong class="upgrade-version original-version">{original_version}</strong></p>
287
288 <p>{this_version_label}: <strong class="upgrade-version this-version">{this_version}</strong></p>
289
290 <!-- BEGIN: selection_complete -->
291 <p>{script_complete}</p>
292 <!-- BEGIN: upgrade_access_check -->
293 <div class="message unsecure">
294 <p>{edit_upgrade_php}</p>
295 </div>
296 <!-- END: upgrade_access_check -->
297 <!-- END: selection_complete -->
298
299 <!-- BEGIN: selection_continue -->
300 <p>{click_continue}</p>
301
302 <form method="post" action="{base_path}upgrade.php">
303 <input type="hidden" name="q" value="upgrade-apply" />
304 <input type="hidden" name="tk" value="{token}" />
305 <input type="hidden" name="handle" value="{handle}" />
306 <input type="submit" value="{continue_button}" />
307 </form>
308 <!-- END: selection_continue -->
309
310 <!-- END: upgrade_selection -->
311
312 <!-- BEGIN: upgrade_results -->
313 <p>{upgrade_complete}</p>
314 <!-- BEGIN: upgrade_access_check -->
315 <div class="message unsecure">
316 <p>{edit_upgrade_php}</p>
317 </div>
318 <!-- END: upgrade_access_check -->
319
320 <div class="upgrade-results">
321 {results}
322 </div>
323 <!-- END: upgrade_results -->
324 </div></div>
325
326 <div id="footer">
327 <address>
328 SimpleID {version} &copy; Kelvin Mo &middot;
329 <a href="http://simpleid.org/docs/1/">{footer_doc}</a> &middot;
330 <a href="http://github.com/simpleid/simpleid/">{footer_support}</a>
331 </address>
332 </div>
333
334 <script type="text/javascript">
335 (function() {
336 var nav, nav_toggle, user, user_toggle;
337
338 nav = document.getElementById('nav');
339 nav_toggle = document.getElementById('nav-toggle');
340 user = document.getElementById('user');
341 user_toggle = document.getElementById('user-toggle');
342
343 if (nav) {
344 nav_toggle.onclick = function() {
345 if (nav.className.indexOf('expand') !== -1) {
346 nav.className = nav.className.replace(' expand', '');
347 nav_toggle.className = nav_toggle.className.replace(' expand', '');
348 } else {
349 nav.className += ' expand';
350 nav_toggle.className += ' expand';
351 }
352 }
353 }
354
355 if (user) {
356 user_toggle.onclick = function() {
357 if (user.className.indexOf('expand') !== -1) {
358 user.className = user.className.replace(' expand', '');
359 user_toggle.className = user_toggle.className.replace(' expand', '');
360 } else {
361 user.className += ' expand';
362 user_toggle.className += ' expand';
363 }
364 }
365 }
366 })();
367 </script>
368 </body>
369</html>
370<!-- END: main -->
371
372<!-- BEGIN: xrds --><?xml version="1.0" encoding="UTF-8"?>
373<xrds:XRDS xmlns="xri://$xrd*($v*2.0)" xmlns:xrds="xri://$xrds" xmlns:simple="http://xrds-simple.net/core/1.0">
374 <XRD version="2.0">
375 <!-- BEGIN: user_xrds -->
376 <Service priority="10">
377 <Type>http://specs.openid.net/auth/2.0/signon</Type>
378 <URI>{simpleid_base_url}</URI>
379 <!-- BEGIN: local_id2 -->
380 <LocalID>{local_id}</LocalID>
381 <!-- END: local_id2 -->
382 </Service>
383 <Service priority="20" xmlns:openid="http://openid.net/xmlns/1.0">
384 <Type>http://openid.net/signon/1.0</Type>
385 <URI>{simpleid_base_url}</URI>
386 <!-- BEGIN: local_id -->
387 <openid:Delegate>{local_id}</openid:Delegate>
388 <!-- END: local_id -->
389 </Service>
390 <!-- END: user_xrds -->
391 <!-- BEGIN: op_xrds -->
392 <Service>
393 <Type>http://specs.openid.net/auth/2.0/server</Type>
394 <!-- Keep old domain -->
395 <Type>http://simpleid.koinic.net/type/version#{version}</Type>
396 <!-- BEGIN: type --><Type>{uri}</Type><!-- END: type -->
397 <URI>{simpleid_base_url}</URI>
398 </Service>
399 <!-- END: op_xrds -->
400 </XRD>
401</xrds:XRDS>
402<!-- END: xrds -->
403
404<!-- BEGIN: xrd --><?xml version="1.0" encoding="UTF-8"?>
405<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
406 {signature}
407 <!-- BEGIN: user_xrd -->
408 <Subject>{acct_uri}</Subject>
409 <Alias>{simpleid_user_uri}</Alias>
410 <!-- BEGIN: local_id -->
411 <Alias>{local_id}</Alias>
412 <!-- END: local_id -->
413 <Link rel="http://specs.openid.net/auth/2.0/provider" href="{simpleid_base_url}" />
414 <!-- END: user_xrd -->
415 <!-- BEGIN: xrd_link -->
416 <Link rel="{rel}" href="{href}" />
417 <!-- END: xrd_link -->
418</XRD>
419<!-- END: xrd -->