@@ 821-866 (lines=46) @@ | ||
818 | * @param mixed $confirm |
|
819 | * @param mixed $msg |
|
820 | */ |
|
821 | public function doChangePassword($confirm, $msg = '') |
|
822 | { |
|
823 | $data = $this->misc->getDatabaseAccessor(); |
|
824 | ||
825 | $server_info = $this->misc->getServerInfo(); |
|
826 | ||
827 | if ($confirm) { |
|
828 | $_REQUEST['rolename'] = $server_info['username']; |
|
829 | $this->printTrail('role'); |
|
830 | $this->printTitle($this->lang['strchangepassword'], 'pg.role.alter'); |
|
831 | $this->printMsg($msg); |
|
832 | ||
833 | $this->coalesceArr($_POST, 'password', ''); |
|
834 | ||
835 | $this->coalesceArr($_POST, 'confirm', ''); |
|
836 | ||
837 | echo '<form action="'.\SUBFOLDER.'/src/views/roles" method="post">'.PHP_EOL; |
|
838 | echo '<table>'.PHP_EOL; |
|
839 | echo "\t<tr>\n\t\t<th class=\"data left required\">{$this->lang['strpassword']}</th>".PHP_EOL; |
|
840 | echo "\t\t<td><input type=\"password\" name=\"password\" size=\"32\" value=\"", |
|
841 | htmlspecialchars($_POST['password']), "\" /></td>\n\t</tr>".PHP_EOL; |
|
842 | echo "\t<tr>\n\t\t<th class=\"data left required\">{$this->lang['strconfirm']}</th>".PHP_EOL; |
|
843 | echo "\t\t<td><input type=\"password\" name=\"confirm\" size=\"32\" value=\"\" /></td>\n\t</tr>".PHP_EOL; |
|
844 | echo '</table>'.PHP_EOL; |
|
845 | echo '<p><input type="hidden" name="action" value="changepassword" />'.PHP_EOL; |
|
846 | echo $this->misc->form; |
|
847 | echo "<input type=\"submit\" name=\"ok\" value=\"{$this->lang['strok']}\" />".PHP_EOL; |
|
848 | echo "<input type=\"submit\" name=\"cancel\" value=\"{$this->lang['strcancel']}\" />".PHP_EOL; |
|
849 | echo '</p></form>'.PHP_EOL; |
|
850 | } else { |
|
851 | // Check that password is minimum length |
|
852 | if (strlen($_POST['password']) < $this->conf['min_password_length']) { |
|
853 | $this->doChangePassword(true, $this->lang['strpasswordshort']); |
|
854 | } elseif ($_POST['password'] != $_POST['confirm']) { |
|
855 | // Check that password matches confirmation password |
|
856 | $this->doChangePassword(true, $this->lang['strpasswordconfirm']); |
|
857 | } else { |
|
858 | $status = $data->changePassword($server_info['username'], $_POST['password']); |
|
859 | if (0 == $status) { |
|
860 | $this->doAccount($this->lang['strpasswordchanged']); |
|
861 | } else { |
|
862 | $this->doAccount($this->lang['strpasswordchangedbad']); |
|
863 | } |
|
864 | } |
|
865 | } |
|
866 | } |
|
867 | } |
|
868 |
@@ 241-289 (lines=49) @@ | ||
238 | * @param mixed $confirm |
|
239 | * @param mixed $msg |
|
240 | */ |
|
241 | public function doChangePassword($confirm, $msg = '') |
|
242 | { |
|
243 | $data = $this->misc->getDatabaseAccessor(); |
|
244 | ||
245 | $server_info = $this->misc->getServerInfo(); |
|
246 | ||
247 | if ($confirm) { |
|
248 | $_REQUEST['user'] = $server_info['username']; |
|
249 | $this->printTrail('user'); |
|
250 | $this->printTitle($this->lang['strchangepassword'], 'pg.user.alter'); |
|
251 | $this->printMsg($msg); |
|
252 | ||
253 | $this->coalesceArr($_POST, 'password', ''); |
|
254 | ||
255 | $this->coalesceArr($_POST, 'confirm', ''); |
|
256 | ||
257 | echo '<form action="'.\SUBFOLDER.'/src/views/users" method="post">'.PHP_EOL; |
|
258 | echo '<table>'.PHP_EOL; |
|
259 | echo "\t<tr>\n\t\t<th class=\"data left required\">{$this->lang['strpassword']}</th>".PHP_EOL; |
|
260 | echo "\t\t<td><input type=\"password\" name=\"password\" size=\"32\" value=\"", |
|
261 | htmlspecialchars($_POST['password']), "\" /></td>\n\t</tr>".PHP_EOL; |
|
262 | echo "\t<tr>\n\t\t<th class=\"data left required\">{$this->lang['strconfirm']}</th>".PHP_EOL; |
|
263 | echo "\t\t<td><input type=\"password\" name=\"confirm\" size=\"32\" value=\"\" /></td>\n\t</tr>".PHP_EOL; |
|
264 | echo '</table>'.PHP_EOL; |
|
265 | echo '<p><input type="hidden" name="action" value="changepassword" />'.PHP_EOL; |
|
266 | echo $this->misc->form; |
|
267 | echo "<input type=\"submit\" name=\"ok\" value=\"{$this->lang['strok']}\" />".PHP_EOL; |
|
268 | echo "<input type=\"submit\" name=\"cancel\" value=\"{$this->lang['strcancel']}\" />".PHP_EOL; |
|
269 | echo '</p></form>'.PHP_EOL; |
|
270 | } else { |
|
271 | // Check that password is minimum length |
|
272 | if (strlen($_POST['password']) < $this->conf['min_password_length']) { |
|
273 | $this->doChangePassword(true, $this->lang['strpasswordshort']); |
|
274 | } elseif ($_POST['password'] != $_POST['confirm']) { |
|
275 | // Check that password matches confirmation password |
|
276 | $this->doChangePassword(true, $this->lang['strpasswordconfirm']); |
|
277 | } else { |
|
278 | $status = $data->changePassword( |
|
279 | $server_info['username'], |
|
280 | $_POST['password'] |
|
281 | ); |
|
282 | if (0 == $status) { |
|
283 | $this->doAccount($this->lang['strpasswordchanged']); |
|
284 | } else { |
|
285 | $this->doAccount($this->lang['strpasswordchangedbad']); |
|
286 | } |
|
287 | } |
|
288 | } |
|
289 | } |
|
290 | ||
291 | /** |
|
292 | * Function to allow editing of a user. |