diff options
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/functions.php b/functions.php index c032364d7..f4628a812 100644 --- a/functions.php +++ b/functions.php @@ -269,12 +269,47 @@ $result = db_query($link, $query); } } - } - if ($result) { - $result = db_query($link, "UPDATE ttrss_feeds SET last_updated = NOW()"); + /* taaaags */ + // <a href="http://technorati.com/tag/Xorg" rel="tag">Xorg</a>, // + + $entry_tags = null; + + preg_match_all("/<a.*?rel=.tag.*?>([^>]+)<\/a>/i", $entry_content, + $entry_tags); + + $entry_tags = $entry_tags[1]; + + if (count($entry_tags) > 0) { + + $result = db_query($link, "SELECT id FROM ttrss_entries + WHERE guid = '$entry_guid'"); + + if (!$result || db_num_rows($result) != 1) { + return; + } + + $entry_id = db_fetch_result($result, 0, "id"); + + foreach ($entry_tags as $tag) { + $tag = db_escape_string(strtolower($tag)); + + $result = db_query($link, "SELECT id FROM ttrss_tags + WHERE tag_name = '$tag' AND post_id = '$entry_id' LIMIT 1"); + + if ($result && db_num_rows($result) == 0) { + +// print "tagging $entry_id as $tag<br>"; + + db_query($link, "INSERT INTO ttrss_tags (tag_name,post_id) + VALUES ('$tag', '$entry_id')"); + } + } + } } + db_query($link, "UPDATE ttrss_feeds SET last_updated = NOW()"); + } db_query($link, "COMMIT"); |