fix tag caching issues

This commit is contained in:
Andrew Dolgov 2010-11-10 11:08:33 +03:00
parent 5eeb387497
commit 779560b7a3
2 changed files with 36 additions and 22 deletions

View File

@ -1396,6 +1396,7 @@
'BLACKLISTED_TAGS', $owner_uid, ''), 'utf-8')));
$filtered_tags = array();
$tags_to_cache = array();
if ($entry_tags && is_array($entry_tags)) {
foreach ($entry_tags as $tag) {
@ -1405,6 +1406,8 @@
}
}
$filtered_tags = array_unique($filtered_tags);
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: filtered article tags:");
print_r($filtered_tags);
@ -1434,14 +1437,18 @@
VALUES ('$owner_uid','$tag', '$entry_int_id')");
}
array_push($tags_to_cache, $tag);
}
/* update the cache */
$tags_str = db_escape_string(join(",", $filtered_tags));
$tags_to_cache = array_unique($tags_to_cache);
$tags_str = db_escape_string(join(",", $tags_to_cache));
db_query($link, "UPDATE ttrss_user_entries
SET tag_cache = '$tags_str' WHERE ref_id = '$entry_ref_id'
AND owner_uid = $owner_uid");
}
db_query($link, "COMMIT");
}

View File

@ -424,7 +424,6 @@
$tags_str = db_escape_string($_REQUEST["tags_str"]);
$tags = array_unique(trim_array(split(",", $tags_str)));
$tags_str = db_escape_string(join(",", $tags));
db_query($link, "BEGIN");
@ -433,6 +432,8 @@
if (db_num_rows($result) == 1) {
$tags_to_cache = array();
$int_id = db_fetch_result($result, 0, "int_id");
db_query($link, "DELETE FROM ttrss_tags WHERE
@ -455,12 +456,18 @@
db_query($link, "INSERT INTO ttrss_tags
(post_int_id, owner_uid, tag_name) VALUES ('$int_id', '".$_SESSION["uid"]."', '$tag')");
}
array_push($tags_to_cache, $tag);
}
}
/* 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");