Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
function GetText(oTextInput) { var szValue = oTextInput.value; return szValue ? szValue : ''; }
function PWInit(bSelf) { var oUser = top.window.g_oSelectedUser; var szName = top.window.GetUserDisplayName(oUser);
idPageTitle.innerHTML = idPageTitle.innerHTML.replace(/%1/g, szName); top.window.PopulateLeftPane(null, idLearnAboutContent.innerHTML); idHintDefn.ttText = bSelf ? top.window.L_SelfHint_ToolTip : top.window.L_NonSelfHint_ToolTip;
if (!bSelf) { var strReset = (top.window.g_bOsPersonal ? L_Personal_Message : L_Pro_Message) + (oUser.isPasswordResetAvailable ? L_Backup_Message : L_NoBackup_Message); idResetWarning.innerHTML = strReset.replace(/%1/g, szName); }
idNewPassword1Input.focus(); }
function ApplyPasswordChange() { var szNewPassword1 = GetText(idNewPassword1Input); var szNewPassword2 = GetText(idNewPassword2Input);
if (szNewPassword1 == szNewPassword2) { var oUser = top.window.g_oSelectedUser; var bSelf = top.window.IsSelf(); var bOldPW = oUser.passwordRequired;
var nErr = 0;
try { oUser.changePassword(szNewPassword1, (bSelf && bOldPW) ? GetText(idOldPasswordInput) : ""); oUser.setting("Hint") = GetText(idHintInput); } catch (e) { nErr = (e.number & 0xffff); //alert("Change password error = " + nErr); // for debugging only
}
if (0 == nErr) { // If the current user is an admin and just created a password for
// herself, ask if she wants to make her profile folder private.
//
// However, if she just made a folder private, which caused us
// to be launched with initialTask=ChangePassword, then we don't
// want to do this prompt.
if (top.window.g_szInitialTask != "ChangePassword" && bSelf && !bOldPW && top.window.g_bRunningAsOwner) { var bPrivate = false; var bCanMakePrivate = true;
try { bPrivate = oUser.isProfilePrivate; } catch (e) { bCanMakePrivate = false; }
if (bCanMakePrivate && !bPrivate) { top.window.g_Navigator.navigate("passwordpage2.htm"); return; } }
top.window.g_Navigator.navigate("mainpage.htm", true); } else { idNewPassword1Input.value = ''; idNewPassword2Input.value = ''; idHintInput.value = ''; idNewPassword1Input.focus();
var strMsg = top.window.L_ChangePassword_ErrorMessage;
switch (nErr) { case 86: // ERROR_INVALID_PASSWORD
case 1323: // ERROR_WRONG_PASSWORD
if (bSelf && bOldPW) { idOldPasswordInput.value = ''; idOldPasswordInput.focus(); strMsg = top.window.L_InvalidPassword_Message; } break;
// I've only seen NERR_PasswordTooShort and ERROR_ACCOUNT_RESTRICTION
// in testing, and it's possible to get either of them for the
// same password, depending on current policy settings.
// That is, it's hard to distinguish them, so don't bother.
// We may want to give separate messages for some of the others,
// but I've never hit them.
case 1324: // ERROR_ILL_FORMED_PASSWORD
case 1325: // ERROR_PASSWORD_RESTRICTION
case 1327: // ERROR_ACCOUNT_RESTRICTION
case 2243: // NERR_PasswordCantChange
case 2244: // NERR_PasswordHistConflict
case 2245: // NERR_PasswordTooShort
case 2246: // NERR_PasswordTooRecent
strMsg = top.window.L_PasswordTooShort_Message; break; }
alert(strMsg); } } else { idNewPassword1Input.value = ''; idNewPassword2Input.value = ''; idNewPassword1Input.focus(); alert(top.window.L_PasswordMismatch_Message); } }
|