]> git.wh0rd.org - tt-rss.git/commitdiff
feedbrowser_cache: store title; implement by-title search in feed browser
authorAndrew Dolgov <fox@bah.spb.su>
Tue, 20 Jan 2009 10:01:22 +0000 (11:01 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Tue, 20 Jan 2009 10:01:22 +0000 (11:01 +0100)
functions.php
modules/pref-feed-browser.php
sanity_check.php
schema/ttrss_schema_mysql.sql
schema/ttrss_schema_pgsql.sql
schema/versions/mysql/52.sql [new file with mode: 0644]
schema/versions/pgsql/52.sql [new file with mode: 0644]

index f11b91b7d7bbc140a743ef0bfd5c02d5dda83b04..5d965eed117c65df1b4accccad11c603a3cbf98b 100644 (file)
 
        function update_feedbrowser_cache($link) {
 
-               $result = db_query($link, "SELECT feed_url,COUNT(id) AS subscribers
+               $result = db_query($link, "SELECT feed_url,title, COUNT(id) AS subscribers
                        FROM ttrss_feeds WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf 
                                WHERE tf.feed_url = ttrss_feeds.feed_url 
                                AND (private IS true OR feed_url LIKE '%:%@%/%')) 
-                               GROUP BY feed_url ORDER BY subscribers DESC LIMIT 200");
+                               GROUP BY feed_url, title ORDER BY subscribers DESC");
        
                db_query($link, "BEGIN");
        
                while ($line = db_fetch_assoc($result)) {
                        $subscribers = db_escape_string($line["subscribers"]);
                        $feed_url = db_escape_string($line["feed_url"]);
+                       $title = db_escape_string($line["title"]);
+
+                       $tmp_result = db_query($link, "SELECT subscribers FROM
+                               ttrss_feedbrowser_cache WHERE feed_url = '$feed_url'");
+
+                       if (db_num_rows($tmp_result) == 0) {
+
+                               db_query($link, "INSERT INTO ttrss_feedbrowser_cache 
+                                       (feed_url, title, subscribers) VALUES ('$feed_url', 
+                                               '$title', '$subscribers')");
+
+                               ++$count;
+
+                       }
        
-                       db_query($link, "INSERT INTO ttrss_feedbrowser_cache 
-                               (feed_url, subscribers) VALUES ('$feed_url', '$subscribers')");
-       
-                       ++$count;
                }
        
                db_query($link, "COMMIT");
index 97fcda8f8128f6ec10b0629bb09b5aa5806ee882..710d14a2c5574efc7b090f1a8a8df02d84ade32a 100644 (file)
 
                if ($browser_search) {
                        $search_qpart = " AND (
-                               UPPER(ttrss_feedbrowser_cache.feed_url) LIKE UPPER('%$browser_search%'))";
-                               //UPPER(title) LIKE UPPER('%$browser_search%'))";
+                               UPPER(ttrss_feedbrowser_cache.feed_url) LIKE UPPER('%$browser_search%') OR
+                               UPPER(title) LIKE UPPER('%$browser_search%'))";
                } else {
                        $search_qpart = "";
                }       
 
                $result = db_query($link, "SELECT ttrss_feedbrowser_cache.feed_url,
-                               subscribers 
+                               subscribers,title
                        FROM
                                ttrss_feedbrowser_cache 
                        WHERE 
index 48c98fa2c96ef1ef116852973f5eeaa02339bf9e..253d1ae2f5b2a4e9022f8071111d407e11aa9664 100644 (file)
@@ -2,7 +2,7 @@
        require_once "functions.php";
 
        define('EXPECTED_CONFIG_VERSION', 18);
-       define('SCHEMA_VERSION', 51);
+       define('SCHEMA_VERSION', 52);
 
        if (!file_exists("config.php")) {
                print __("<b>Fatal Error</b>: You forgot to copy 
index c07782e3ffe76bcc3cbe2b1be75ade04851df3df..9de6567a80034907bdc1469654e8648227e54831 100644 (file)
@@ -224,7 +224,7 @@ create table ttrss_tags (id integer primary key auto_increment,
 
 create table ttrss_version (schema_version int not null) TYPE=InnoDB;
 
-insert into ttrss_version values (51);
+insert into ttrss_version values (52);
 
 create table ttrss_enclosures (id serial not null primary key,
        content_url text not null,
@@ -379,6 +379,7 @@ create table ttrss_sessions (id varchar(250) unique not null primary key,
 
 create table ttrss_feedbrowser_cache (
        feed_url text not null,
+       title text not null,
        subscribers integer not null);  
 
 create table ttrss_labels2 (id integer not null primary key auto_increment, 
index 8646632d949cc2f383168cd3ecd4488af4844952..f5907210da733d1a14194de306b2d932fa220c13 100644 (file)
@@ -200,7 +200,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);
 
 create table ttrss_version (schema_version int not null);
 
-insert into ttrss_version values (51);
+insert into ttrss_version values (52);
 
 create table ttrss_enclosures (id serial not null primary key,
        content_url text not null,
@@ -348,6 +348,7 @@ create function SUBSTRING_FOR_DATE(timestamp, int, int) RETURNS text AS 'SELECT
 
 create table ttrss_feedbrowser_cache (
        feed_url text not null primary key,
+       title text not null,
        subscribers integer not null);  
 
 create table ttrss_labels2 (id serial not null primary key, 
diff --git a/schema/versions/mysql/52.sql b/schema/versions/mysql/52.sql
new file mode 100644 (file)
index 0000000..4d9b64e
--- /dev/null
@@ -0,0 +1,5 @@
+alter table ttrss_feedbrowser_cache add column title text;
+update ttrss_feedbrowser_cache set title = '';
+alter table ttrss_feedbrowser_cache change title title text not null;
+
+update ttrss_version set schema_version = 52;
diff --git a/schema/versions/pgsql/52.sql b/schema/versions/pgsql/52.sql
new file mode 100644 (file)
index 0000000..f7165e7
--- /dev/null
@@ -0,0 +1,9 @@
+begin;
+
+alter table ttrss_feedbrowser_cache add column title text;
+update ttrss_feedbrowser_cache set title = '';
+alter table ttrss_feedbrowser_cache alter column title set not null;
+
+update ttrss_version set schema_version = 52;
+
+commit;