root/alternc-changepass/tags/0.9.5/plugin/change.php

Revision 1106, 3.4 kB (checked in by anarcat, 3 years ago)

move php files in a subdir

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?php
2
3  if (!$already) {
4  define('SM_PATH','../../');
5  
6  /* SquirrelMail required files. */
7  require_once(SM_PATH . 'include/validate.php');
8  require_once(SM_PATH . 'functions/page_header.php');
9  require_once(SM_PATH . 'functions/imap.php');
10  require_once(SM_PATH . 'include/load_prefs.php');
11
12  /* get globals */
13  sqgetGlobalVar('username', $username, SQ_SESSION);
14  
15  require_once (SM_PATH . "plugins/alternc_changepass/config.php");
16  
17  session_start();
18  
19  textdomain("changepass");
20
21 global $username, $base_uri, $key, $onetimepad;
22
23
24 if ($_POST['acp_oldpass'] && $_POST['acp_newpass'] && $_POST['acp_verify']) {
25   if ($_POST['acp_newpass']!=$_POST['acp_verify']) {
26     $err=_("Your new passwords are differents, pleasy try again.");
27   } else {
28     // Check the old password
29     $db->query("SELECT password FROM mail_users WHERE alias='".addslashes($username)."'");
30     if (!$db->next_record()) {
31       $err=_("Your account has not been found, please try again later or ask an administrator.");
32     } else {
33       if ($db->f("password")!=_md5cr($_POST['acp_oldpass'],$db->f("password"))) {
34     $err=_("Your current password is incorrect, please try again.");
35       } else {
36     // ok, let's change the password
37     $newp=_md5cr($_POST['acp_newpass']);
38     $un1=str_replace("@","_",$username); // version login_domain.tld
39     $un2=substr($un1,0,strlen($un1)-strlen(strrchr($un1,"_")))."@".substr(strrchr($un1,"_"),1); // version login@domain.tld
40     $db->query("UPDATE mail_users SET password='$newp' WHERE alias='$un1' or alias='$un2';");
41
42     /* PATCH MAILFR
43     $ku=substr($username,0,strpos($un2,"@"));
44     mysql_query("UPDATE mailfr.users SET password='".addslashes($acp_newpass)."' WHERE username='".addslashes($un2)."';");
45     mysql_query("UPDATE mailfr_jabber.users SET jabberpassword='".addslashes($acp_newpass)."' WHERE username='".addslashes($ku)."';");
46      /PATCH MAILFR */
47
48
49     // Write new cookies for the password
50     $onetimepad = OneTimePadCreate(strlen($acp_newpass));
51     sqsession_register($onetimepad,'onetimepad');
52     $key = OneTimePadEncrypt($acp_newpass, $onetimepad);
53     setcookie("key", $key, 0, $base_uri);
54     
55     $err=_("Your password has been successfully changed. Don't forget to change it in your mail software if you are using one (Outlook, Mozilla, Thunderbird, Eudora ...)");
56       }
57     }
58   }
59 }
60
61  
62  textdomain("squirrelmail");
63
64  displayPageHeader($color, 'None');
65
66  textdomain("changepass");
67  
68  }
69
70
71 if ($err) echo "<p><b>"._("Error:")." ".$err."</b></p>";
72
73 ?>
74
75
76 <h1><?php __("Changing your mail password"); ?></h1>
77 <form method="post" action="change.php">
78     <table>
79       <tr>
80    <th align="right"><label for="acp_oldpass"><?php __("Old Password:"); ?></label></th>
81         <td><input type="password" name="acp_oldpass" id="acp_oldpass" value="" size="20" /></td>
82       </tr>
83
84       <tr>
85    <th align="right"><label for="acp_newpass"><?php __("New Password:"); ?></label></th>
86         <td><input type="password" name="acp_newpass" id="acp_newpass" value="" size="20" /></td>
87       </tr>
88       <tr>
89    <th align="right"><label for="acp_verify"><?php __("Verify New Password:"); ?></label></th>
90         <td><input type="password" name="acp_verify" id="acp_verify" value="" size="20" /></td>
91       </tr>
92
93       <tr>
94         <td align="center" colspan="2"><input type="submit" value="<?php __("Change my mail password"); ?>" name="plugin_changepass" /></td>
95       </tr>
96     </table>
97
98 </form>
99
100 </body></html>
101 <?php
102
103 textdomain("squirrelmail");
104
105 ?>
106
Note: See TracBrowser for help on using the browser.