diff options
Diffstat (limited to 'backend.php')
-rw-r--r-- | backend.php | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/backend.php b/backend.php index aa8edb7ba..a25a0b5be 100644 --- a/backend.php +++ b/backend.php @@ -174,9 +174,33 @@ case "collapse": $cat_id = db_escape_string($_GET["cid"]); - db_query($link, "UPDATE ttrss_feed_categories SET - collapsed = NOT collapsed WHERE id = '$cat_id' AND owner_uid = " . - $_SESSION["uid"]); + if ($cat_id > 0) { + db_query($link, "UPDATE ttrss_feed_categories SET + collapsed = NOT collapsed WHERE id = '$cat_id' AND owner_uid = " . + $_SESSION["uid"]); + } else { + $pref_name = ''; + + switch ($cat_id) { + case -1: + $pref_name = '_COLLAPSED_SPECIAL'; + break; + case -2: + $pref_name = '_COLLAPSED_LABELS'; + break; + case 0: + $pref_name = '_COLLAPSED_UNCAT'; + break; + } + + if ($pref_name) { + if (get_pref($link, $pref_name)) { + set_pref($link, $pref_name, 'false'); + } else { + set_pref($link, $pref_name, 'true'); + } + } + } return; break; |