prevent default admin user from being removed; properly fail on startup if single user mode is enabled but default admin user is missing from the database

This commit is contained in:
Andrew Dolgov 2010-06-10 14:29:55 +04:00
parent 76e3b28010
commit 50e7dd7d01
3 changed files with 14 additions and 2 deletions

View File

@ -214,7 +214,7 @@
$ids = split(",", db_escape_string($_REQUEST["ids"])); $ids = split(",", db_escape_string($_REQUEST["ids"]));
foreach ($ids as $id) { foreach ($ids as $id) {
if ($id != $_SESSION["uid"]) { if ($id != $_SESSION["uid"] && $id != 1) {
db_query($link, "DELETE FROM ttrss_tags WHERE owner_uid = '$id'"); db_query($link, "DELETE FROM ttrss_tags WHERE owner_uid = '$id'");
db_query($link, "DELETE FROM ttrss_feeds WHERE owner_uid = '$id'"); db_query($link, "DELETE FROM ttrss_feeds WHERE owner_uid = '$id'");
db_query($link, "DELETE FROM ttrss_users WHERE id = '$id'"); db_query($link, "DELETE FROM ttrss_users WHERE id = '$id'");

View File

@ -465,7 +465,7 @@ function removeSelectedUsers() {
if (sel_rows.length > 0) { if (sel_rows.length > 0) {
var ok = confirm(__("Remove selected users?")); var ok = confirm(__("Remove selected users? Neither default admin nor your account will be removed."));
if (ok) { if (ok) {
notify_progress("Removing selected users..."); notify_progress("Removing selected users...");

View File

@ -66,6 +66,18 @@
$err_msg = "config: DATABASE_BACKED_SESSIONS are currently broken with MySQL"; $err_msg = "config: DATABASE_BACKED_SESSIONS are currently broken with MySQL";
} }
if (SINGLE_USER_MODE) {
$link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($link) {
$result = db_query($link, "SELECT id FROM ttrss_users WHERE id = 1");
if (db_num_rows($result) != 1) {
$err_msg = "config: SINGLE_USER_MODE is enabled but default admin account (UID=1) is not found.";
}
}
}
if (defined('MAIL_FROM')) { if (defined('MAIL_FROM')) {
$err_msg = "config: MAIL_FROM has been split into DIGEST_FROM_NAME and DIGEST_FROM_ADDRESS"; $err_msg = "config: MAIL_FROM has been split into DIGEST_FROM_NAME and DIGEST_FROM_ADDRESS";
} }