Switch to profile-based password recovery.

This commit is contained in:
Drake 2006-12-06 11:57:36 +00:00
parent de1b160c2b
commit 631d8cb0e6
9 changed files with 250 additions and 54 deletions

View file

@ -0,0 +1,47 @@
#PBtmpl0000000000000014
#namespace:Auth/WebGUI/Recovery2
<h2><tmpl_var title></h2>
<tmpl_if recoverMessage><tmpl_var recoverMessage></tmpl_if>
<tmpl_var recoverFormHeader>
<tmpl_var recoverFormHidden>
<table>
<tmpl_if doingRecovery>
<tr>
<td class="formDescription" valign="top"><tmpl_var recoverFormPasswordLabel></td>
<td class="tableData"><tmpl_var recoverFormPassword></td>
</tr>
<tr>
<td class="formDescription" valign="top"><tmpl_var recoverFormPasswordConfirmLabel></td>
<td class="tableData"><tmpl_var recoverFormPasswordConfirm></td>
</tr>
<tmpl_else>
<tmpl_if recoverFormUsername>
<tr>
<td class="formDescription" valign="top"><tmpl_var recoverFormUsernameLabel></td>
<td class="tableData"><tmpl_var recoverFormUsername></td>
</tr>
</tmpl_if>
<tmpl_loop recoverFormProfile>
<tr>
<td class="formDescription" valign="top"><tmpl_var label></td>
<td class="tableData"><tmpl_var formElement></td>
</tr>
</tmpl_loop>
</tmpl_if>
<tr>
<td class="formDescription" valign="top"></td>
<td class="tableData"><tmpl_var recoverFormSubmit></td>
</tr>
</table>
<tmpl_var recoverFormFooter>
<div class="accountOptions">
<ul>
<tmpl_if anonymousRegistrationIsAllowed>
<li><a href="<tmpl_var createAccountUrl>"><tmpl_var createAccountLabel></a></li>
</tmpl_if>
<li><a href="<tmpl_var loginUrl>"><tmpl_var loginLabel></a></li>
</ul>
</div>

View file

@ -23,6 +23,7 @@ addWikiAssets($session);
deleteOldFiles($session);
addFileFieldsToDataForm($session);
makeRSSFromParentAlwaysHidden($session);
addProfileFieldsOnPasswordRecovery($session);
addNewCalendar($session);
migrateCalendars($session);
removeOldCalendar($session);
@ -278,6 +279,20 @@ sub removeOldCalendar {
$session->config->deleteFromArray("assets","WebGUI::Asset::Wobject::EventsCalendar");
}
#-------------------------------------------------
sub addProfileFieldsOnPasswordRecovery {
my $session = shift;
print "\tAdding requiredForPasswordRecovery to userProfileField rows.\n" unless $quiet;
$session->db->write($_) for(<<'EOT',
ALTER TABLE userProfileField
ADD COLUMN requiredForPasswordRecovery int(11) NOT NULL default '0'
EOT
);
$session->setting->set('webguiPasswordRecovery', 0);
$session->setting->add('webguiPasswordRecoveryRequireUsername', 1);
$session->setting->set('webguiPasswordRecoveryTemplate', 'PBtmpl0000000000000014');
}
# ---- DO NOT EDIT BELOW THIS LINE ----