diff --git a/backend.php b/backend.php index bc75ead8a..ed8ab6c18 100644 --- a/backend.php +++ b/backend.php @@ -1,6 +1,8 @@ session_start(); + if (!$_SESSION["uid"]) { exit; } + define(SCHEMA_VERSION, 2); require_once "config.php"; @@ -9,8 +11,8 @@ require_once "functions.php"; require_once "magpierss/rss_fetch.inc"; - $_SESSION["uid"] = PLACEHOLDER_UID; // FIXME: placeholder - $_SESSION["name"] = PLACEHOLDER_NAME; +// $_SESSION["uid"] = PLACEHOLDER_UID; // FIXME: placeholder +// $_SESSION["name"] = PLACEHOLDER_NAME; $op = $_REQUEST["op"]; @@ -1578,6 +1580,34 @@ print "Unknown option: $pref_name"; } + } else if ($subop == "Change password") { + + if (WEB_DEMO_MODE) return; + + $old_pw = $_POST["OLD_PASSWORD"]; + $new_pw = $_POST["OLD_PASSWORD"]; + + $old_pw_hash = 'SHA1:' . sha1($_POST["OLD_PASSWORD"]); + $new_pw_hash = 'SHA1:' . sha1($_POST["NEW_PASSWORD"]); + + $active_uid = $_SESSION["uid"]; + + if ($old_pw && $new_pw) { + + $login = db_escape_string($_SERVER['PHP_AUTH_USER']); + + $result = db_query($link, "SELECT id FROM ttrss_users WHERE + id = '$active_uid' AND (pwd_hash = '$old_pw' OR + pwd_hash = '$old_pw_hash')"); + + if (db_num_rows($result) == 1) { + db_query($link, "UPDATE ttrss_users SET pwd_hash = '$new_pw_hash' + WHERE id = '$active_uid'"); + } + } + + header("Location: prefs.php"); + } else if ($subop == "Reset to defaults") { if (WEB_DEMO_MODE) return; @@ -1591,6 +1621,29 @@ } else { + print "
"; + $result = db_query($link, "SELECT ttrss_user_prefs.pref_name,short_desc,help_text,value,type_name, section_name,def_value @@ -1602,8 +1655,6 @@ print "