Browse Source

labels: unfortunately we can't rely on caption to selectively clear label_cache (because of json unicode encoding) so clean it completely if label is updated

Andrew Dolgov 1 year ago
parent
commit
fd10614f5d
2 changed files with 6 additions and 10 deletions
  1. 2 2
      classes/labels.php
  2. 4 8
      classes/pref/labels.php

+ 2 - 2
classes/labels.php

@@ -163,8 +163,8 @@ class Labels
 			/* Remove cached data */
 
 			$sth = $pdo->prepare("UPDATE ttrss_user_entries SET label_cache = ''
-				WHERE label_cache LIKE ? AND owner_uid = ?");
-			$sth->execute(["%$caption%", $owner_uid]);
+				WHERE owner_uid = ?");
+			$sth->execute([$owner_uid]);
 
 		}
 

+ 4 - 8
classes/pref/labels.php

@@ -144,13 +144,11 @@ class Pref_Labels extends Handler_Protected {
 				$sth->execute([$fg, $bg, $id, $_SESSION['uid']]);
 			}
 
-			$caption = Labels::find_caption($id, $_SESSION["uid"]);
-
 			/* Remove cached data */
 
 			$sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET label_cache = ''
-				WHERE label_cache LIKE ? AND owner_uid = ?");
-			$sth->execute(["%$caption%", $_SESSION['uid']]);
+				WHERE owner_uid = ?");
+			$sth->execute([$_SESSION['uid']]);
 		}
 	}
 
@@ -163,13 +161,11 @@ class Pref_Labels extends Handler_Protected {
 				AND owner_uid = ?");
 			$sth->execute([$id, $_SESSION['uid']]);
 
-			$caption = Labels::find_caption($id, $_SESSION["uid"]);
-
 			/* Remove cached data */
 
 			$sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET label_cache = ''
-				WHERE label_cache LIKE ? AND owner_uid = ?");
-			$sth->execute(["%$caption%", $_SESSION['uid']]);
+				WHERE owner_uid = ?");
+			$sth->execute([$_SESSION['uid']]);
 		}
 	}