summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-03-23 14:38:58 +0300
committerAndrew Dolgov <[email protected]>2010-03-23 14:38:58 +0300
commitfa3317be48f0d255ddba75d5ae45b86c163016cc (patch)
treeb828f3d2b32c50400fab22e1aaa8e07fc6802341
parentbf9b87b5bbc7e2d7c3e9dff5b987c517c080c306 (diff)
allow filtering by article author (bump schema)
-rw-r--r--functions.php16
-rw-r--r--sanity_check.php2
-rw-r--r--schema/ttrss_schema_mysql.sql3
-rw-r--r--schema/ttrss_schema_pgsql.sql3
-rw-r--r--schema/versions/mysql/66.sql7
-rw-r--r--schema/versions/pgsql/66.sql7
6 files changed, 33 insertions, 5 deletions
diff --git a/functions.php b/functions.php
index a1aabf9a5..28f49b61e 100644
--- a/functions.php
+++ b/functions.php
@@ -1181,7 +1181,7 @@
// error_reporting(0);
$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']) {
_debug("update_rss_feed: article filters: ");
@@ -1505,7 +1505,7 @@
print "</select>";
}
- function get_article_filters($filters, $title, $content, $link, $timestamp) {
+ function get_article_filters($filters, $title, $content, $link, $timestamp, $author) {
$matches = array();
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;
}
diff --git a/sanity_check.php b/sanity_check.php
index f23704000..d112896e0 100644
--- a/sanity_check.php
+++ b/sanity_check.php
@@ -2,7 +2,7 @@
require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 18);
- define('SCHEMA_VERSION', 65);
+ define('SCHEMA_VERSION', 66);
if (!file_exists("config.php")) {
print "<b>Fatal Error</b>: You forgot to copy
diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql
index b9bb777ec..0f4acf900 100644
--- a/schema/ttrss_schema_mysql.sql
+++ b/schema/ttrss_schema_mysql.sql
@@ -183,6 +183,7 @@ insert into ttrss_filter_types (id,name,description) values (4, 'link',
'Link');
insert into ttrss_filter_types (id,name,description) values (5, '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,
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;
-insert into ttrss_version values (65);
+insert into ttrss_version values (66);
create table ttrss_enclosures (id integer primary key auto_increment,
content_url text not null,
diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql
index 55b07b6ea..7225f10f8 100644
--- a/schema/ttrss_schema_pgsql.sql
+++ b/schema/ttrss_schema_pgsql.sql
@@ -165,6 +165,7 @@ insert into ttrss_filter_types (id,name,description) values (4, 'link',
'Link');
insert into ttrss_filter_types (id,name,description) values (5, '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,
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);
-insert into ttrss_version values (65);
+insert into ttrss_version values (66);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
diff --git a/schema/versions/mysql/66.sql b/schema/versions/mysql/66.sql
new file mode 100644
index 000000000..f90c0a157
--- /dev/null
+++ b/schema/versions/mysql/66.sql
@@ -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;
diff --git a/schema/versions/pgsql/66.sql b/schema/versions/pgsql/66.sql
new file mode 100644
index 000000000..f90c0a157
--- /dev/null
+++ b/schema/versions/pgsql/66.sql
@@ -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;