allow filtering by article author (bump schema)

This commit is contained in:
Andrew Dolgov 2010-03-23 14:38:58 +03:00
parent bf9b87b5bb
commit fa3317be48
6 changed files with 33 additions and 5 deletions

View File

@ -1181,7 +1181,7 @@
// error_reporting(0); // error_reporting(0);
$article_filters = get_article_filters($filters, $entry_title, $article_filters = get_article_filters($filters, $entry_title,
$entry_content, $entry_link, $entry_timestamp); $entry_content, $entry_link, $entry_timestamp, $entry_author);
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) { if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: article filters: "); _debug("update_rss_feed: article filters: ");
@ -1505,7 +1505,7 @@
print "</select>"; print "</select>";
} }
function get_article_filters($filters, $title, $content, $link, $timestamp) { function get_article_filters($filters, $title, $content, $link, $timestamp, $author) {
$matches = array(); $matches = array();
if ($filters["title"]) { if ($filters["title"]) {
@ -1590,6 +1590,18 @@
} }
} }
if ($filters["author"]) {
foreach ($filters["author"] as $filter) {
$reg_exp = $filter["reg_exp"];
$inverse = $filter["inverse"];
if ((!$inverse && preg_match("/$reg_exp/i", $author)) ||
($inverse && !preg_match("/$reg_exp/i", $author))) {
array_push($matches, array($filter["action"], $filter["action_param"]));
}
}
}
return $matches; return $matches;
} }

View File

@ -2,7 +2,7 @@
require_once "functions.php"; require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 18); define('EXPECTED_CONFIG_VERSION', 18);
define('SCHEMA_VERSION', 65); define('SCHEMA_VERSION', 66);
if (!file_exists("config.php")) { if (!file_exists("config.php")) {
print "<b>Fatal Error</b>: You forgot to copy print "<b>Fatal Error</b>: You forgot to copy

View File

@ -183,6 +183,7 @@ insert into ttrss_filter_types (id,name,description) values (4, 'link',
'Link'); 'Link');
insert into ttrss_filter_types (id,name,description) values (5, 'date', insert into ttrss_filter_types (id,name,description) values (5, 'date',
'Article Date'); 'Article Date');
insert into ttrss_filter_types (id,name,description) values (6, 'author', 'Author');
create table ttrss_filter_actions (id integer not null primary key, create table ttrss_filter_actions (id integer not null primary key,
name varchar(120) unique not null, name varchar(120) unique not null,
@ -239,7 +240,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) TYPE=InnoDB; create table ttrss_version (schema_version int not null) TYPE=InnoDB;
insert into ttrss_version values (65); insert into ttrss_version values (66);
create table ttrss_enclosures (id integer primary key auto_increment, create table ttrss_enclosures (id integer primary key auto_increment,
content_url text not null, content_url text not null,

View File

@ -165,6 +165,7 @@ insert into ttrss_filter_types (id,name,description) values (4, 'link',
'Link'); 'Link');
insert into ttrss_filter_types (id,name,description) values (5, 'date', insert into ttrss_filter_types (id,name,description) values (5, 'date',
'Article Date'); 'Article Date');
insert into ttrss_filter_types (id,name,description) values (6, 'author', 'Author');
create table ttrss_filter_actions (id integer not null primary key, create table ttrss_filter_actions (id integer not null primary key,
name varchar(120) unique not null, name varchar(120) unique not null,
@ -211,7 +212,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);
create table ttrss_version (schema_version int not null); create table ttrss_version (schema_version int not null);
insert into ttrss_version values (65); insert into ttrss_version values (66);
create table ttrss_enclosures (id serial not null primary key, create table ttrss_enclosures (id serial not null primary key,
content_url text not null, content_url text not null,

View File

@ -0,0 +1,7 @@
begin;
insert into ttrss_filter_types (id, name, description) values (6, 'author', 'Author');
update ttrss_version set schema_version = 66;
commit;

View File

@ -0,0 +1,7 @@
begin;
insert into ttrss_filter_types (id, name, description) values (6, 'author', 'Author');
update ttrss_version set schema_version = 66;
commit;