user-change-password.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /* GNU FM -- a free network service for sharing your music listening habits
  3. Copyright (C) 2009 Free Software Foundation, Inc
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU Affero General Public License as published by
  6. the Free Software Foundation, either version 3 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. require_once('database.php');
  16. require_once('templating.php');
  17. require_once('data/User.php');
  18. require_once('data/TagCloud.php');
  19. if ($logged_in == false) {
  20. $smarty->assign('pageheading', 'Error!');
  21. $smarty->assign('details', 'Not logged in! You shouldn\'t be here!');
  22. $smarty->display('error.tpl');
  23. die();
  24. }
  25. $errors = array();
  26. if (isset($_POST['submit'])) {
  27. $old_password = md5($_POST['old_password']);
  28. if ($old_password != $this_user->password) {
  29. $errors[] = 'Old password did not match the one associated with your profile.';
  30. }
  31. if ($_POST['password1'] != $_POST['password2']) {
  32. $errors[] = 'Passwords do not match!';
  33. }
  34. if (!isset($errors[0])) {
  35. $this_user->password = md5($_POST['password1']);
  36. $this_user->save();
  37. $smarty->assign('success', true);
  38. }
  39. }
  40. $smarty->assign('errors', $errors);
  41. $smarty->display('user-change-password.tpl');