summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/pref/feeds.php2
-rw-r--r--js/App.js3
2 files changed, 3 insertions, 2 deletions
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index 3b4afab26..c7d4f1925 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -710,7 +710,7 @@ class Pref_Feeds extends Handler_Protected {
$mark_unread_on_update = checkbox_to_sql_bool(
clean($_POST["mark_unread_on_update"] ?? ""));
- $feed_language = clean($_POST["feed_language"]);
+ $feed_language = clean($_POST["feed_language"] ?? "");
if (!$batch) {
diff --git a/js/App.js b/js/App.js
index 895483dd7..046365ff8 100644
--- a/js/App.js
+++ b/js/App.js
@@ -52,8 +52,9 @@ const App = {
return this.button_tag(value, "", {...{onclick: "App.dialogOf(this).hide()"}, ...attributes});
},
checkbox_tag: function(name, checked = false, value = "", attributes = {}, id = "") {
+ // checked !== '0' prevents mysql "boolean" false to be implicitly cast as true
return `<input dojoType="dijit.form.CheckBox" type="checkbox" name="${App.escapeHtml(name)}"
- ${checked ? "checked" : ""}
+ ${checked !== '0' && checked ? "checked" : ""}
${value ? `value="${App.escapeHtml(value)}"` : ""}
${this.attributes_to_string(attributes)} id="${App.escapeHtml(id)}">`
},