summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-09-09 05:52:36 +0100
committerAndrew Dolgov <[email protected]>2005-09-09 05:52:36 +0100
commiteb36b4eb5526fca5ea05b635d828e290687b4ea3 (patch)
tree413bbd74158060d33d9a4f954a5594e073e892ad /functions.php
parente9e4c6e23a55bc6633293da4a25ea979e8080140 (diff)
start work on support for technorati tags, schema uses cascade deletes for pgsql
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php41
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");