fix tag caching issues
This commit is contained in:
parent
5eeb387497
commit
779560b7a3
|
@ -1396,6 +1396,7 @@
|
||||||
'BLACKLISTED_TAGS', $owner_uid, ''), 'utf-8')));
|
'BLACKLISTED_TAGS', $owner_uid, ''), 'utf-8')));
|
||||||
|
|
||||||
$filtered_tags = array();
|
$filtered_tags = array();
|
||||||
|
$tags_to_cache = array();
|
||||||
|
|
||||||
if ($entry_tags && is_array($entry_tags)) {
|
if ($entry_tags && is_array($entry_tags)) {
|
||||||
foreach ($entry_tags as $tag) {
|
foreach ($entry_tags as $tag) {
|
||||||
|
@ -1405,6 +1406,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$filtered_tags = array_unique($filtered_tags);
|
||||||
|
|
||||||
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
|
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
|
||||||
_debug("update_rss_feed: filtered article tags:");
|
_debug("update_rss_feed: filtered article tags:");
|
||||||
print_r($filtered_tags);
|
print_r($filtered_tags);
|
||||||
|
@ -1416,32 +1419,36 @@
|
||||||
|
|
||||||
db_query($link, "BEGIN");
|
db_query($link, "BEGIN");
|
||||||
|
|
||||||
foreach ($filtered_tags as $tag) {
|
foreach ($filtered_tags as $tag) {
|
||||||
|
|
||||||
$tag = sanitize_tag($tag);
|
$tag = sanitize_tag($tag);
|
||||||
$tag = db_escape_string($tag);
|
$tag = db_escape_string($tag);
|
||||||
|
|
||||||
|
if (!tag_is_valid($tag)) continue;
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT id FROM ttrss_tags
|
||||||
|
WHERE tag_name = '$tag' AND post_int_id = '$entry_int_id' AND
|
||||||
|
owner_uid = '$owner_uid' LIMIT 1");
|
||||||
|
|
||||||
if (!tag_is_valid($tag)) continue;
|
|
||||||
|
|
||||||
$result = db_query($link, "SELECT id FROM ttrss_tags
|
|
||||||
WHERE tag_name = '$tag' AND post_int_id = '$entry_int_id' AND
|
|
||||||
owner_uid = '$owner_uid' LIMIT 1");
|
|
||||||
|
|
||||||
if ($result && db_num_rows($result) == 0) {
|
if ($result && db_num_rows($result) == 0) {
|
||||||
|
|
||||||
db_query($link, "INSERT INTO ttrss_tags
|
db_query($link, "INSERT INTO ttrss_tags
|
||||||
(owner_uid,tag_name,post_int_id)
|
(owner_uid,tag_name,post_int_id)
|
||||||
VALUES ('$owner_uid','$tag', '$entry_int_id')");
|
VALUES ('$owner_uid','$tag', '$entry_int_id')");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update the cache */
|
array_push($tags_to_cache, $tag);
|
||||||
|
}
|
||||||
|
|
||||||
$tags_str = db_escape_string(join(",", $filtered_tags));
|
/* update the cache */
|
||||||
|
|
||||||
|
$tags_to_cache = array_unique($tags_to_cache);
|
||||||
|
|
||||||
|
$tags_str = db_escape_string(join(",", $tags_to_cache));
|
||||||
|
|
||||||
db_query($link, "UPDATE ttrss_user_entries
|
db_query($link, "UPDATE ttrss_user_entries
|
||||||
SET tag_cache = '$tags_str' WHERE ref_id = '$entry_ref_id'
|
SET tag_cache = '$tags_str' WHERE ref_id = '$entry_ref_id'
|
||||||
AND owner_uid = $owner_uid");
|
AND owner_uid = $owner_uid");
|
||||||
}
|
|
||||||
|
|
||||||
db_query($link, "COMMIT");
|
db_query($link, "COMMIT");
|
||||||
}
|
}
|
||||||
|
|
|
@ -424,7 +424,6 @@
|
||||||
|
|
||||||
$tags_str = db_escape_string($_REQUEST["tags_str"]);
|
$tags_str = db_escape_string($_REQUEST["tags_str"]);
|
||||||
$tags = array_unique(trim_array(split(",", $tags_str)));
|
$tags = array_unique(trim_array(split(",", $tags_str)));
|
||||||
$tags_str = db_escape_string(join(",", $tags));
|
|
||||||
|
|
||||||
db_query($link, "BEGIN");
|
db_query($link, "BEGIN");
|
||||||
|
|
||||||
|
@ -433,6 +432,8 @@
|
||||||
|
|
||||||
if (db_num_rows($result) == 1) {
|
if (db_num_rows($result) == 1) {
|
||||||
|
|
||||||
|
$tags_to_cache = array();
|
||||||
|
|
||||||
$int_id = db_fetch_result($result, 0, "int_id");
|
$int_id = db_fetch_result($result, 0, "int_id");
|
||||||
|
|
||||||
db_query($link, "DELETE FROM ttrss_tags WHERE
|
db_query($link, "DELETE FROM ttrss_tags WHERE
|
||||||
|
@ -455,12 +456,18 @@
|
||||||
db_query($link, "INSERT INTO ttrss_tags
|
db_query($link, "INSERT INTO ttrss_tags
|
||||||
(post_int_id, owner_uid, tag_name) VALUES ('$int_id', '".$_SESSION["uid"]."', '$tag')");
|
(post_int_id, owner_uid, tag_name) VALUES ('$int_id', '".$_SESSION["uid"]."', '$tag')");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
db_query($link, "UPDATE ttrss_user_entries
|
array_push($tags_to_cache, $tag);
|
||||||
SET tag_cache = '$tags_str' WHERE ref_id = '$id'
|
}
|
||||||
AND owner_uid = " . $_SESSION["uid"]);
|
|
||||||
|
/* update tag cache */
|
||||||
|
|
||||||
|
$tags_str = join(",", $tags_to_cache);
|
||||||
|
|
||||||
|
db_query($link, "UPDATE ttrss_user_entries
|
||||||
|
SET tag_cache = '$tags_str' WHERE ref_id = '$id'
|
||||||
|
AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
}
|
||||||
|
|
||||||
db_query($link, "COMMIT");
|
db_query($link, "COMMIT");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue