}
function getTagCounters($link) {
+
$result = db_query($link, "SELECT tag_name,count(ttrss_entries.id) AS count
FROM ttrss_tags,ttrss_entries,ttrss_user_entries WHERE
ttrss_user_entries.ref_id = ttrss_entries.id AND
ttrss_tags.owner_uid = ".$_SESSION["uid"]." AND
- post_id = ttrss_entries.id AND unread = true GROUP BY tag_name
+ post_int_id = ttrss_user_entries.int_id AND unread = true GROUP BY tag_name
UNION
select tag_name,0 as count FROM ttrss_tags
WHERE ttrss_tags.owner_uid = ".$_SESSION["uid"]);
// tags
$result = db_query($link, "SELECT tag_name,count(ttrss_entries.id) AS count
- FROM ttrss_tags,ttrss_entries WHERE
- post_id = ttrss_entries.id AND unread = true
+ FROM ttrss_tags,ttrss_entries,ttrss_user_entries WHERE
+ post_int_id = ttrss_user_entries.int_id AND
+ unread = true AND ref_id = ttrss_entries.id
AND ttrss_tags.owner_uid = '$owner_uid' GROUP BY tag_name
UNION
select tag_name,0 as count FROM ttrss_tags WHERE owner_uid = '$owner_uid'
if ($subop == "forceUpdateAllFeeds" || $subop == "updateAllFeeds") {
- update_all_feeds($link, true);
+ update_all_feeds($link, $subop == "forceUpdateAllFeeds");
$omode = $_GET["omode"];
$vfeed_query_part
SUBSTRING(updated,1,19) as updated_noms
FROM
- ttrss_entries,ttrss_tags
+ ttrss_entries,ttrss_user_entries,ttrss_tags
WHERE
- ttrss_entries.owner_uid = '".$_SESSION["uid"]."' AND
- post_id = ttrss_entries.id AND tag_name = '$feed' AND
+ ref_id = ttrss_entries.id AND
+ ttrss_user_entries.owner_uid = '".$_SESSION["uid"]."' AND
+ post_int_id = int_id AND tag_name = '$feed' AND
$view_query_part
$search_query_part
$query_strategy_part ORDER BY $order_by
$entry_guid = db_escape_string($entry_guid);
- $result = db_query($link, "SELECT id FROM ttrss_entries WHERE guid = '$entry_guid'");
+ $result = db_query($link, "SELECT id FROM ttrss_entries
+ WHERE guid = '$entry_guid'");
$owner_uid = $_SESSION["uid"];
// now it should exist, if not - bad luck then
- $result = db_query($link, "SELECT id FROM ttrss_entries WHERE guid = '$entry_guid'");
+ $result = db_query($link, "SELECT id FROM ttrss_entries WHERE
+ guid = '$entry_guid'");
if (db_num_rows($result) == 1) {
$result = db_query($link,
"SELECT ref_id FROM ttrss_user_entries WHERE
- ref_id = '$ref_id' AND owner_uid = '$owner_uid' AND feed_id = '$feed'");
+ ref_id = '$ref_id' AND owner_uid = '$owner_uid' AND
+ feed_id = '$feed'");
// okay it doesn't exist - create user entry
/* taaaags */
// <a href="http://technorati.com/tag/Xorg" rel="tag">Xorg</a>, //
-/* $entry_tags = null;
+ $entry_tags = null;
preg_match_all("/<a.*?rel=.tag.*?>([^>]+)<\/a>/i", $entry_content,
$entry_tags);
if (count($entry_tags) > 0) {
- $result = db_query($link, "SELECT id FROM ttrss_entries
+ $result = db_query($link, "SELECT id,int_id
+ FROM ttrss_entries,ttrss_user_entries
WHERE guid = '$entry_guid'
- AND feed_id = '$feed'
+ AND feed_id = '$feed' AND ref_id = id
AND owner_uid = " . $_SESSION["uid"]);
if (!$result || db_num_rows($result) != 1) {
}
$entry_id = db_fetch_result($result, 0, "id");
+ $entry_int_id = db_fetch_result($result, 0, "int_id");
foreach ($entry_tags as $tag) {
$tag = db_escape_string(strtolower($tag));
$tag = str_replace("technorati tag: ", "", $tag);
$result = db_query($link, "SELECT id FROM ttrss_tags
- WHERE tag_name = '$tag' AND post_id = '$entry_id' AND
+ WHERE tag_name = '$tag' AND post_int_id = '$entry_int_id' AND
owner_uid = ".$_SESSION["uid"]." LIMIT 1");
// print db_fetch_result($result, 0, "id");
// print "tagging $entry_id as $tag<br>";
- db_query($link, "INSERT INTO ttrss_tags (owner_uid,tag_name,post_id)
- VALUES ('".$_SESSION["uid"]."','$tag', '$entry_id')");
+ db_query($link, "INSERT INTO ttrss_tags
+ (owner_uid,tag_name,post_int_id)
+ VALUES ('".$_SESSION["uid"]."','$tag', '$entry_int_id')");
}
}
- } */
+ }
}
db_query($link, "UPDATE ttrss_feeds
index (guid), index(title));
create table ttrss_user_entries (
+ int_id serial not null primary key,
ref_id integer not null references ttrss_entries(id) ON DELETE CASCADE,
feed_id int references ttrss_feeds(id) ON DELETE CASCADE not null,
owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE,
create table ttrss_tags (id serial not null primary key,
tag_name varchar(250) not null,
owner_uid integer not null references ttrss_users(id) on delete cascade,
- post_id integer references ttrss_entries(id) ON DELETE CASCADE not null);
+ post_int_id integer references ttrss_user_entries(int_id) ON DELETE CASCADE not null);
create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);