]>
git.wh0rd.org - tt-rss.git/blob - include/labels.php
2 function label_find_id($label, $owner_uid) {
4 "SELECT id FROM ttrss_labels2 WHERE caption = '$label'
5 AND owner_uid = '$owner_uid' LIMIT 1");
7 if (db_num_rows($result) == 1) {
8 return db_fetch_result($result, 0, "id");
14 function label_find_caption($label, $owner_uid) {
16 "SELECT caption FROM ttrss_labels2 WHERE id = '$label'
17 AND owner_uid = '$owner_uid' LIMIT 1");
19 if (db_num_rows($result) == 1) {
20 return db_fetch_result($result, 0, "caption");
26 function get_all_labels($owner_uid) {
29 $result = db_query("SELECT fg_color, bg_color, caption FROM ttrss_labels2 WHERE owner_uid = " . $owner_uid);
31 while ($line = db_fetch_assoc($result)) {
32 array_push($rv, $line);
38 function label_update_cache($owner_uid, $id, $labels = false, $force = false) {
41 label_clear_cache($id);
44 $labels = get_article_labels($id);
46 $labels = db_escape_string(json_encode($labels));
48 db_query("UPDATE ttrss_user_entries SET
49 label_cache = '$labels' WHERE ref_id = '$id' AND owner_uid = '$owner_uid'");
53 function label_clear_cache($id) {
55 db_query("UPDATE ttrss_user_entries SET
56 label_cache = '' WHERE ref_id = '$id'");
60 function label_remove_article($id, $label, $owner_uid) {
62 $label_id = label_find_id($label, $owner_uid);
64 if (!$label_id) return;
67 "DELETE FROM ttrss_user_labels2
69 label_id = '$label_id' AND
72 label_clear_cache($id);
75 function label_add_article($id, $label, $owner_uid) {
77 $label_id = label_find_id($label, $owner_uid);
79 if (!$label_id) return;
83 article_id FROM ttrss_labels2, ttrss_user_labels2
86 label_id = '$label_id' AND
87 article_id = '$id' AND owner_uid = '$owner_uid'
90 if (db_num_rows($result) == 0) {
91 db_query("INSERT INTO ttrss_user_labels2
92 (label_id, article_id) VALUES ('$label_id', '$id')");
95 label_clear_cache($id);
99 function label_remove($id, $owner_uid) {
100 if (!$owner_uid) $owner_uid = $_SESSION["uid"];
104 $result = db_query("SELECT caption FROM ttrss_labels2
107 $caption = db_fetch_result($result, 0, "caption");
109 $result = db_query("DELETE FROM ttrss_labels2 WHERE id = '$id'
110 AND owner_uid = " . $owner_uid);
112 if (db_affected_rows($result) != 0 && $caption) {
114 /* Remove access key for the label */
116 $ext_id = LABEL_BASE_INDEX
- 1 - $id;
118 db_query("DELETE FROM ttrss_access_keys WHERE
119 feed_id = '$ext_id' AND owner_uid = $owner_uid");
121 /* Remove cached data */
123 db_query("UPDATE ttrss_user_entries SET label_cache = ''
124 WHERE label_cache LIKE '%$caption%' AND owner_uid = " . $owner_uid);
131 function label_create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) {
133 if (!$owner_uid) $owner_uid = $_SESSION['uid'];
139 $result = db_query("SELECT id FROM ttrss_labels2
140 WHERE caption = '$caption' AND owner_uid = $owner_uid");
142 if (db_num_rows($result) == 0) {
144 "INSERT INTO ttrss_labels2 (caption,owner_uid,fg_color,bg_color)
145 VALUES ('$caption', '$owner_uid', '$fg_color', '$bg_color')");
147 $result = db_affected_rows($result) != 0;