]> git.wh0rd.org Git - tt-rss.git/commitdiff
new option: MARK_UNREAD_ON_UPDATE (closes #76)
authorAndrew Dolgov <fox@madoka.spb.ru>
Tue, 25 Jul 2006 08:11:13 +0000 (09:11 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Tue, 25 Jul 2006 08:11:13 +0000 (09:11 +0100)
backend.php
functions.php
schema/ttrss_schema_mysql.sql
schema/ttrss_schema_pgsql.sql

index da317cc416ca8584a653bfaf4d59103336abff1b..b4b1c6f58c26dbe38e6fcda74ebfd84490fc516e 100644 (file)
@@ -16,7 +16,7 @@
 
        $op = $_REQUEST["op"];
 
-       define('SCHEMA_VERSION', 8);
+       define('SCHEMA_VERSION', 9);
 
        require_once "sanity_check.php";
        require_once "config.php";
index ea1cb71102ff8abe92d144550b4d8f3a4dcd6347..885505c922545e8023d4d07fcb7e6eb751772a1c 100644 (file)
                                                                num_comments = '$num_comments'
                                                        WHERE id = '$ref_id'");
 
-                                               db_query($link, "UPDATE ttrss_user_entries 
-                                                       SET last_read = null WHERE ref_id = '$ref_id' AND unread = false");
+                                               if (get_pref($link, "MARK_UNREAD_ON_UPDATE")) {
+                                                       db_query($link, "UPDATE ttrss_user_entries 
+                                                               SET last_read = null, unread = true WHERE ref_id = '$ref_id'");
+                                               } else {
+                                                       db_query($link, "UPDATE ttrss_user_entries 
+                                                               SET last_read = null WHERE ref_id = '$ref_id' AND unread = false");
+                                               }
 
                                        }
                                }
 
                $result = db_query($link, "SELECT COUNT(int_id) AS unread 
                        FROM ttrss_user_entries 
-                       WHERE   unread = true AND $match_part AND owner_uid = " . $_SESSION["uid"]);
+                       WHERE   unread = true AND ($match_part) AND owner_uid = " . $_SESSION["uid"]);
 
                $unread = 0;
 
                        return getCategoryUnread($link, $n_feed);               
                } else if ($n_feed == -1) {
                        $match_part = "marked = true";
-               } else if ($feed > 0) {
+               } else if ($n_feed > 0) {
 
-                       $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE parent_feed = '$n_feed'");
+                       $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE parent_feed = '$n_feed'
+                                       AND owner_uid = " . $_SESSION["uid"]);
 
                        if (db_num_rows($result) > 0) {
+
                                $linked_feeds = array();
                                while ($line = db_fetch_assoc($result)) {
                                        array_push($linked_feeds, "feed_id = " . $line["id"]);
                                
                                $match_part = implode(" OR ", $linked_feeds);
 
+                               $result = db_query($link, "SELECT COUNT(int_id) AS unread 
+                                       FROM ttrss_user_entries 
+                                       WHERE   unread = true AND ($match_part) AND owner_uid = " . $_SESSION["uid"]);
+
+                               $unread = 0;
+
+                               # this needs to be rewritten
+                               while ($line = db_fetch_assoc($result)) {
+                                       $unread += $line["unread"];
+                               }
+
+                               return $unread;
+
                        } else {
                                $match_part = "feed_id = '$n_feed'";
                        }
index 69a96d0b7758e61c5bfc77f2296073c2d66d0d4a..4020dd738fc5334ae685c0ef989901fd21dea667 100644 (file)
@@ -179,7 +179,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 (8);
+insert into ttrss_version values (9);
 
 create table ttrss_prefs_types (id integer not null primary key, 
        type_name varchar(100) not null) TYPE=InnoDB;
@@ -251,6 +251,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu
 
 insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('EXTENDED_FEEDLIST', 1, 'false', 'Show additional information in feedlist',2);
 
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('MARK_UNREAD_ON_UPDATE', 1, 'false', 'Set articles as unread on update',3);
+
 create table ttrss_user_prefs (
    owner_uid integer not null,
    pref_name varchar(250),
index 99120f7d5a8739e9f0b37bec67ff89d2cf5e3c5d..8ef76bd3b367cff37c3e9e7801829db9124de97a 100644 (file)
@@ -163,7 +163,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 (8);
+insert into ttrss_version values (9);
 
 create table ttrss_prefs_types (id integer not null primary key, 
        type_name varchar(100) not null);
@@ -231,6 +231,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu
 
 insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('EXTENDED_FEEDLIST', 1, 'false', 'Show additional information in feedlist',2);
 
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('MARK_UNREAD_ON_UPDATE', 1, 'false', 'Set articles as unread on update',3);
+
 create table ttrss_user_prefs (
        owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE,
        pref_name varchar(250) not null references ttrss_prefs(pref_name) ON DELETE CASCADE,