4 <?php if ($fail_message) { ?>
5 <p><strong><?=$fail_message?></strong></p>
6 <hr noshade="noshade" />
8 <?php /* br past the logo */ ?>
9 <br class="clear-floats" />
12 $dbh = $request->getDbh();
14 echo asXML(HTML::h2("System is locked as read-only for maintenance"));
15 } elseif ($dbh->readonly) {
16 echo asXML(HTML::h2("Database is locked as read-only for maintenance"));
19 if (DEBUG & _DEBUG_LOGIN) {
20 $t = sprintf(" DEBUG: ALLOW_ANON_EDIT = %s, ALLOW_BOGO_LOGIN = %s, ALLOW_USER_PASSWORDS = %s, ENABLE_PAGEPERM = %s, ",
21 ALLOW_ANON_EDIT ? "true" : "false",
22 ALLOW_BOGO_LOGIN ? "true" : "false",
23 ALLOW_USER_PASSWORDS ? "true" : "false",
24 ENABLE_PAGEPERM ? "true" : "false");
25 if (ALLOW_USER_PASSWORDS) {
26 if ($fail_message) { // add for each method the exact failing reason.
27 $t .= " USER_AUTH_ORDER: ";
28 foreach ($GLOBALS['USER_AUTH_ORDER'] as $auth) {
30 if ($fail = @$GLOBALS['USER_AUTH_ERROR']["_".strtolower($auth)."passuser"])
34 $t .= sprintf(" USER_AUTH_ORDER: %s", join(" => ", $GLOBALS['USER_AUTH_ORDER']));
35 $t .= sprintf(", USER_AUTH_POLICY: %s", USER_AUTH_POLICY)
36 . sprintf(", PASSWORD_LENGTH_MINIMUM: %s", PASSWORD_LENGTH_MINIMUM);
38 echo asXML(HTML::div(array('class' => 'debug'),$t));
41 if (ALLOW_BOGO_LOGIN && $require_level <= WIKIAUTH_BOGO) {
42 require_once("lib/BlockParser.php");
43 // This iso-8859-1 sample covers French, Spanish, Italian, German, and probably others
44 $examplechars = htmlentities("ÀñíçéàÖãæôßøü", ENT_QUOTES, $charset);
45 // Japanese login requires utf-8 and ALLOW_NONWIKIWORD_LOGINS
46 if (($charset == 'utf-8') && defined('ALLOW_NONWIKIWORD_LOGINS') && ALLOW_NONWIKIWORD_LOGINS) {
47 //sample Japanese login name in unicode
48 $examplechars = $examplechars . "天道あかね";
50 $t = asXML(TransformText(_("You may sign in using any [WikiWord|AddingPages] as a user id. (Any characters in %s etc. may be used too). The user id will be used as a link in RecentChanges to your home page."), 2.0, true));
51 if (substr_count($t,"%s") == 1) {
52 $s = @sprintf($t, $examplechars);
53 // FIXME: Workaround gettext or sprintf problem
54 if (empty($s)) echo $t;
55 else echo sprintf($t, $examplechars);
59 /* On disabled DbPrefs (PagePrefs only) note the user to create his PersonalPage. */
60 // don't understand why I put this in --rurban
61 if (!isset($user->_prefs->_select)) {
62 echo asXML(TransformText(_("Note: Only if you create your personal HomePage with same the pagename as your user id, you will be able to store your UserPreferences. Otherwise not.")));
64 if (empty($pass_required)) ?>
65 <p><?= _("New users may use an empty password.") ?></p>
67 <form method="post" action="<?= $request->getPostURL() ?>" accept-charset="<?=CHARSET?>" name="login">
72 <legend>Sign In</legend>
73 <table cellspacing="4">
75 <td align="right"><?= _("UserId:") ?></td>
76 <td><input type="text" name="auth[userid]" size="12" maxlength="256" value="<?=$userid?>" tabindex="1" />
77 <?php if (ENABLE_AUTH_OPENID) { ?>
78 <?= _("or")?> <a href="http://openid.net/"><?= _("OpenID") ?></a>:<input type="text" id="inp-openid" name="openid_url" size="32" maxlength="256" value="<?=$userid?>" tabindex="3" />
83 <td align="right"><?= _("Password:") ?></td>
84 <td><input type="password" name="auth[passwd]" size="12" maxlength="256" tabindex="2" /></td>
86 <tr><td></td><td align="left">
87 <?=Button("submit:", _("Sign In"), 'wikiaction')?>
88 <?php if (!$require_level) { ?>
89 <?=Button("submit:auth[cancel]", _("Cancel"), 'button')?>
94 <input type="hidden" name="auth[require_level]" value="<?=$require_level?>" />
95 <input type="hidden" name="auth[login]" value="1" />
96 <?= HiddenInputs($request->getArgs(), false, array('auth')) ?>
103 <script language="JavaScript" type="text/javascript">
104 <!-- // Really there's got to be a simpler way to do this....
105 function select_input (type) {
106 var elements = document.forms['login'].elements;
107 for (var i = 0; i < elements.length; i++) {
108 if (elements[i].type == type) {
114 select_input('<?= $userid ? "password" : "text" ?>');