]>
git.wh0rd.org - tt-rss.git/blob - classes/labels.php
2ca623a32aad4072422ecbfb0e651bd41cd11759
4 static function label_to_feed_id($label) {
5 return LABEL_BASE_INDEX
- 1 - abs($label);
8 static function feed_to_label_id($feed) {
9 return LABEL_BASE_INDEX
- 1 +
abs($feed);
12 static function find_id($label, $owner_uid) {
14 "SELECT id FROM ttrss_labels2 WHERE caption = '$label'
15 AND owner_uid = '$owner_uid' LIMIT 1");
17 if (db_num_rows($result) == 1) {
18 return db_fetch_result($result, 0, "id");
24 static function find_caption($label, $owner_uid) {
26 "SELECT caption FROM ttrss_labels2 WHERE id = '$label'
27 AND owner_uid = '$owner_uid' LIMIT 1");
29 if (db_num_rows($result) == 1) {
30 return db_fetch_result($result, 0, "caption");
36 static function get_all_labels($owner_uid) {
39 $result = db_query("SELECT fg_color, bg_color, caption FROM ttrss_labels2 WHERE owner_uid = " . $owner_uid);
41 while ($line = db_fetch_assoc($result)) {
42 array_push($rv, $line);
48 static function update_cache($owner_uid, $id, $labels = false, $force = false) {
51 Labels
::clear_cache($id);
54 $labels = Article
::get_article_labels($id);
56 $labels = db_escape_string(json_encode($labels));
58 db_query("UPDATE ttrss_user_entries SET
59 label_cache = '$labels' WHERE ref_id = '$id' AND owner_uid = '$owner_uid'");
63 static function clear_cache($id) {
65 db_query("UPDATE ttrss_user_entries SET
66 label_cache = '' WHERE ref_id = '$id'");
70 static function remove_article($id, $label, $owner_uid) {
72 $label_id = Labels
::find_id($label, $owner_uid);
74 if (!$label_id) return;
77 "DELETE FROM ttrss_user_labels2
79 label_id = '$label_id' AND
82 Labels
::clear_cache($id);
85 static function add_article($id, $label, $owner_uid) {
87 $label_id = Labels
::find_id($label, $owner_uid);
89 if (!$label_id) return;
93 article_id FROM ttrss_labels2, ttrss_user_labels2
96 label_id = '$label_id' AND
97 article_id = '$id' AND owner_uid = '$owner_uid'
100 if (db_num_rows($result) == 0) {
101 db_query("INSERT INTO ttrss_user_labels2
102 (label_id, article_id) VALUES ('$label_id', '$id')");
105 Labels
::clear_cache($id);
109 static function remove($id, $owner_uid) {
110 if (!$owner_uid) $owner_uid = $_SESSION["uid"];
114 $result = db_query("SELECT caption FROM ttrss_labels2
117 $caption = db_fetch_result($result, 0, "caption");
119 $result = db_query("DELETE FROM ttrss_labels2 WHERE id = '$id'
120 AND owner_uid = " . $owner_uid);
122 if (db_affected_rows($result) != 0 && $caption) {
124 /* Remove access key for the label */
126 $ext_id = LABEL_BASE_INDEX
- 1 - $id;
128 db_query("DELETE FROM ttrss_access_keys WHERE
129 feed_id = '$ext_id' AND owner_uid = $owner_uid");
131 /* Remove cached data */
133 db_query("UPDATE ttrss_user_entries SET label_cache = ''
134 WHERE label_cache LIKE '%$caption%' AND owner_uid = " . $owner_uid);
141 static function create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) {
143 if (!$owner_uid) $owner_uid = $_SESSION['uid'];
147 $result = db_query("SELECT id FROM ttrss_labels2
148 WHERE caption = '$caption' AND owner_uid = $owner_uid");
150 if (db_num_rows($result) == 0) {
152 "INSERT INTO ttrss_labels2 (caption,owner_uid,fg_color,bg_color)
153 VALUES ('$caption', '$owner_uid', '$fg_color', '$bg_color')");
155 $result = db_affected_rows($result) != 0;