|
46 | 46 | //Prepare variables
|
47 | 47 | $new_pw = encrypt(htmlspecialchars_decode($data_received['new_pw']));
|
48 | 48 |
|
49 |
| - if(isset($_POST['change_pw_origine']) && $_POST['change_pw_origine'] == "user_change"){ |
50 |
| - //User has decided to change is PW |
51 |
| - |
52 |
| - //Get a string with the old pw array |
53 |
| - $last_pw = explode(';',$_SESSION['last_pw']); |
54 |
| - |
55 |
| - //if size is bigger then clean the array |
56 |
| - if ( sizeof($last_pw) > $_SESSION['settings']['number_of_used_pw'] && $_SESSION['settings']['number_of_used_pw'] > 0 ){ |
57 |
| - for($x=0;$x<$_SESSION['settings']['number_of_used_pw'];$x++) |
58 |
| - unset($last_pw[$x]); |
59 |
| - |
60 |
| - //reinit SESSION |
61 |
| - $_SESSION['last_pw'] = implode(';',$last_pw); |
62 |
| - } |
63 |
| - //specific case where admin setting "number_of_used_pw" is 0 |
64 |
| - else if ( $_SESSION['settings']['number_of_used_pw'] == 0 ){ |
65 |
| - $_SESSION['last_pw'] = ""; |
66 |
| - $last_pw = array(); |
67 |
| - } |
| 49 | + //User has decided to change is PW |
| 50 | + if(isset($_POST['change_pw_origine']) && $_POST['change_pw_origine'] == "user_change"){ |
| 51 | + //Get a string with the old pw array |
| 52 | + $last_pw = explode(';',$_SESSION['last_pw']); |
| 53 | + |
| 54 | + //if size is bigger then clean the array |
| 55 | + if ( sizeof($last_pw) > $_SESSION['settings']['number_of_used_pw'] && $_SESSION['settings']['number_of_used_pw'] > 0 ){ |
| 56 | + for($x=0;$x<$_SESSION['settings']['number_of_used_pw'];$x++) |
| 57 | + unset($last_pw[$x]); |
| 58 | + |
| 59 | + //reinit SESSION |
| 60 | + $_SESSION['last_pw'] = implode(';',$last_pw); |
| 61 | + } |
| 62 | + //specific case where admin setting "number_of_used_pw" is 0 |
| 63 | + else if ( $_SESSION['settings']['number_of_used_pw'] == 0 ){ |
| 64 | + $_SESSION['last_pw'] = ""; |
| 65 | + $last_pw = array(); |
| 66 | + } |
68 | 67 |
|
69 |
| - //check if new pw is different that old ones |
70 |
| - if ( in_array($new_pw,$last_pw) ){ |
71 |
| - echo '[ { "error" : "already_used" } ]'; |
72 |
| - }else{ |
73 |
| - //update old pw with new pw |
74 |
| - if ( sizeof($last_pw) == ($_SESSION['settings']['number_of_used_pw']+1) ){ |
75 |
| - unset($last_pw[0]); |
76 |
| - }else{ |
77 |
| - array_push($last_pw,$new_pw); |
78 |
| - } |
| 68 | + //check if new pw is different that old ones |
| 69 | + if ( in_array($new_pw,$last_pw) ){ |
| 70 | + echo '[ { "error" : "already_used" } ]'; |
| 71 | + }else{ |
| 72 | + //update old pw with new pw |
| 73 | + if ( sizeof($last_pw) == ($_SESSION['settings']['number_of_used_pw']+1) ){ |
| 74 | + unset($last_pw[0]); |
| 75 | + }else{ |
| 76 | + array_push($last_pw,$new_pw); |
| 77 | + } |
79 | 78 |
|
80 |
| - //create a list of last pw based on the table |
81 |
| - $old_pw = ""; |
82 |
| - foreach($last_pw as $elem){ |
83 |
| - if ( !empty($elem) ){ |
84 |
| - if (empty($old_pw)) $old_pw = $elem; |
85 |
| - else $old_pw .= ";".$elem; |
86 |
| - } |
87 |
| - } |
| 79 | + //create a list of last pw based on the table |
| 80 | + $old_pw = ""; |
| 81 | + foreach($last_pw as $elem){ |
| 82 | + if ( !empty($elem) ){ |
| 83 | + if (empty($old_pw)) $old_pw = $elem; |
| 84 | + else $old_pw .= ";".$elem; |
| 85 | + } |
| 86 | + } |
88 | 87 |
|
89 |
| - //update sessions |
90 |
| - $_SESSION['last_pw'] = $old_pw; |
91 |
| - $_SESSION['last_pw_change'] = mktime(0,0,0,date('m'),date('d'),date('y')); |
92 |
| - $_SESSION['validite_pw'] = true; |
93 |
| - |
94 |
| - //update DB |
95 |
| - $db->query_update( |
96 |
| - "users", |
97 |
| - array( |
98 |
| - 'pw' => $new_pw, |
99 |
| - 'last_pw_change' => mktime(0,0,0,date('m'),date('d'),date('y')), |
100 |
| - 'last_pw' => $old_pw |
101 |
| - ), |
102 |
| - "id = ".$_SESSION['user_id'] |
103 |
| - ); |
104 |
| - |
105 |
| - echo '[ { "error" : "none" } ]'; |
106 |
| - } |
107 |
| - }else |
108 |
| - //ADMIN has decided to change the USER's PW |
109 |
| - if(isset($_POST['change_pw_origine']) && $_POST['change_pw_origine'] == "admin_change"){ |
110 |
| - //Check KEY |
111 |
| - if ($data_received['key'] != $_SESSION['key']) { |
112 |
| - echo '[ { "error" : "key_not_conform" } ]'; |
113 |
| - exit(); |
114 |
| - } |
| 88 | + //update sessions |
| 89 | + $_SESSION['last_pw'] = $old_pw; |
| 90 | + $_SESSION['last_pw_change'] = mktime(0,0,0,date('m'),date('d'),date('y')); |
| 91 | + $_SESSION['validite_pw'] = true; |
115 | 92 |
|
116 | 93 | //update DB
|
117 |
| - $db->query_update( |
118 |
| - "users", |
119 |
| - array( |
120 |
| - 'pw' => $new_pw, |
121 |
| - 'last_pw_change' => mktime(0,0,0,date('m'),date('d'),date('y')) |
122 |
| - ), |
123 |
| - "id = ".$data_received['user_id'] |
124 |
| - ); |
125 |
| - |
126 |
| - echo '[ { "error" : "none" } ]'; |
127 |
| - } |
| 94 | + $db->query_update( |
| 95 | + "users", |
| 96 | + array( |
| 97 | + 'pw' => $new_pw, |
| 98 | + 'last_pw_change' => mktime(0,0,0,date('m'),date('d'),date('y')), |
| 99 | + 'last_pw' => $old_pw |
| 100 | + ), |
| 101 | + "id = ".$_SESSION['user_id'] |
| 102 | + ); |
128 | 103 |
|
129 |
| - else{ |
130 |
| - echo '[ { "error" : "nothing_to_do" } ]'; |
| 104 | + echo '[ { "error" : "none" } ]'; |
131 | 105 | }
|
| 106 | + } |
| 107 | + //ADMIN has decided to change the USER's PW |
| 108 | + elseif(isset($_POST['change_pw_origine']) && $_POST['change_pw_origine'] == "admin_change"){ |
| 109 | + //Check KEY |
| 110 | + if ($data_received['key'] != $_SESSION['key']) { |
| 111 | + echo '[ { "error" : "key_not_conform" } ]'; |
| 112 | + exit(); |
| 113 | + } |
| 114 | + |
| 115 | + //update DB |
| 116 | + $db->query_update( |
| 117 | + "users", |
| 118 | + array( |
| 119 | + 'pw' => $new_pw, |
| 120 | + 'last_pw_change' => mktime(0,0,0,date('m'),date('d'),date('y')) |
| 121 | + ), |
| 122 | + "id = ".$data_received['user_id'] |
| 123 | + ); |
| 124 | + |
| 125 | + echo '[ { "error" : "none" } ]'; |
| 126 | + } |
| 127 | + //ADMIN first login |
| 128 | + if(isset($_POST['change_pw_origine']) && $_POST['change_pw_origine'] == "first_change"){ |
| 129 | + //update DB |
| 130 | + $db->query_update( |
| 131 | + "users", |
| 132 | + array( |
| 133 | + 'pw' => $new_pw, |
| 134 | + 'last_pw_change' => mktime(0,0,0,date('m'),date('d'),date('y')) |
| 135 | + ), |
| 136 | + "id = ".$_SESSION['user_id'] |
| 137 | + ); |
| 138 | + $_SESSION['last_pw_change'] = mktime(0,0,0,date('m'),date('d'),date('y')); |
| 139 | + echo '[ { "error" : "none" } ]'; |
| 140 | + } |
| 141 | + //DEFAULT case |
| 142 | + else{ |
| 143 | + echo '[ { "error" : "nothing_to_do" } ]'; |
| 144 | + } |
132 | 145 |
|
133 | 146 | break;
|
134 | 147 |
|
|
0 commit comments