]> git.wh0rd.org Git - tt-rss.git/commitdiff
misc new schema support related work
authorAndrew Dolgov <fox@bah.spb.su>
Sat, 19 Nov 2005 08:18:34 +0000 (09:18 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Sat, 19 Nov 2005 08:18:34 +0000 (09:18 +0100)
backend.php
functions.php
schema/ttrss_schema_pgsql.sql
tt-rss.js

index a3ee30c5f15af26bd5b3c75cdcb3b8eadb98b9e6..19aebd899bc8b8169c7454120419605927fc4c93 100644 (file)
        }
 
        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
index 3dee285a889c6715df4b85e1de2a828e751255d8..36741a19996a8185331bbe7399b61566c2b85a1b 100644 (file)
 
                                $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 d3e691b3ce3cc1ecf109a8a55846ed8ebb6005a1..e1d07c425068d887e08dad8287b69ef74b50f22e 100644 (file)
@@ -53,6 +53,7 @@ create table ttrss_entries (id serial not null primary key,
        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,
@@ -100,7 +101,7 @@ insert into ttrss_labels (owner_uid,sql_exp,description) values (1,
 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);
 
index 08178c84b28b03eaab99478d34cb8b8786ed84d4..e18d12bec2ef14b619197310d985a1f9f951a6e5 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -250,7 +250,7 @@ function viewfeed(feed, skip, subop) {
 }
 
 function timeout() {
-       scheduleFeedUpdate(true);
+       scheduleFeedUpdate(false);
        setTimeout("timeout()", 1800*1000);
 }