Commit graph

337 commits

Author SHA1 Message Date
6da86428c4 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:51:03 -05:00
11b2066922 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:23:18 -05:00
6c8598d897 Implement contexts for non-recursive folders, and any/no label
Adjusted TTRSS handler accordingly
2017-11-16 15:56:14 -05:00
de92fb514b Implement TTRSS opera getArticle; fixes #84 2017-11-15 15:38:49 -05:00
e83c6949b8 Cleanup 2017-11-13 23:29:25 -05:00
ea08bbb87b Implement TTRSS feed icons; fixes #121
This introduces a data model function of unusual privilege: it can retrieve favicon URLs for any subscription, regardless of user ID. This is a single-purpose hack and its use should be avoided if at all possible.
2017-11-10 12:02:59 -05:00
ea986f5032 Implement TTRSS operation updateArticle; fixes #83
This required adding the "notes" column to the arsse_marks table and adding same as a target value in Database::articleMark()

The Context class was also adjusted to remove the possibility of false positives in some tests
2017-11-09 14:21:12 -05:00
6b1cd3816d Add warnings for slow tests in PHPUnit
This should help in fixing slow tests down the road.
2017-11-08 11:31:44 -05:00
c6cd8b8aaa Removing request chunking from NCN controller 2017-11-07 10:00:31 -05:00
42a5ccb96c Handle request splitting in data model rather than controllers
Queries for multiple specific articles are limited in size because of limits on  the number of bound query parameters.

Currently this limit is somewhat arbitrarily set at 50, but it may increase.

Historically controllers would be responsible for chunking input, but this will present problems when the expected output is a result set, and of course the maintenance burden increases as the number of controllers increases.

This commit transfers the burden to the data model, and consequently introduces a ResultAggregate class which collects chunked result sets (currently only for articleList).

In the course of making these changes the mock Result class was also largely rewritten, fixing many bugs with it.

This commit does not modify the controllers nor their tests; this will be done in a subsequent commit.
2017-11-06 23:32:29 -05:00
7d19a5add0 Merge from master 2017-11-06 15:58:26 -05:00
f51152980c Introduce abstract class for result sets
Most of the SQLite3 Result class' methods are fully generic, so it should be helpful for future result sets
2017-11-05 22:28:19 -05:00
9304f99032 Make result sets single-use; change savewepoint exceptions
- Result sets are now single-use; this is required for PDO drivers (PDO result sets are not rewindable)
- Change savepoint exceptions to be simple database exceptions; codes remain the same
2017-11-05 22:13:44 -05:00
9c9c34f7fe Implement TTRSS operation getFeeds; fixes #80 2017-11-02 17:17:46 -04:00
fff6082e3c Adjust TTRSS catchupFeed to use shallow subscription listing 2017-10-31 18:12:50 -04:00
cbe82c57cd Allow subscriptions to be listed non-recursively
This is used in multiple TTRSS operations (at least catchupFeed and getFeeds, and so is a useful optimization
2017-10-31 18:09:16 -04:00
f22fe8ba95 Tweak catchupFeed 2017-10-31 09:39:06 -04:00
2a08edb27d Implement TTRSS catchupFeed operation; fixes #88 2017-10-30 23:18:43 -04:00
e4ae3ca6ea Use constants for TTRSS' special feeds and categories 2017-10-30 16:18:09 -04:00
f543f084c1 Build and Nginx changes for TTRSS 2017-10-30 14:50:31 -04:00
579551f5fd Implement TTRSS operation getFeedTree; fixes #94 2017-10-30 13:11:27 -04:00
a94c1e8592 Add static images used by getFeedTree
TTRSS' getFeedTree operation references the URLs of icons included with the software. These icons are from the Silk icon set (see README in this commit), which is compatible with our license, so we simply use them as well.
2017-10-30 09:40:36 -04:00
6a700f784c Tests for TTRSS operation setArticleLabel; fixes #90 2017-10-28 10:52:38 -04:00
5c4772d95a CS fixes 2017-10-20 19:02:42 -04:00
65963f228f CS fixes 2017-10-20 18:41:21 -04:00
d05aaf688f Preliminary TTRSS setArticleLabel implementation 2017-10-20 18:17:47 -04:00
488a7bddac Adapt TTRSS to new type system 2017-10-20 09:54:08 -04:00
8c6c49d588 Merge changes from master 2017-10-19 22:58:42 -04:00
f690bbb3a9 Alias Date::normalize to ValueInfo::normalize 2017-10-19 22:39:39 -04:00
d45401fb8b Adapt NCN to new type converter
This has the side-effect of removing the ability to reset a feed's title by passing null explicitly. As a non-standard behaviour it was simpler to just remove it.
2017-10-19 20:35:45 -04:00
cc875be57e Backport testing improvements from ttrss branch 2017-10-19 15:32:18 -04:00
1271a0c8c0 Add ValueInfo::normalize method
This method provides generalized, consistent type casting more versatile than PHP's basic type juggling while hiding the significant complexity in achieving this.

While this commit does not change any existing code to use the new method, the intent is for both API handlers and database drivers to use the same basic rules for type conversion while still allowing for differing failure modes.
2017-10-19 15:18:58 -04:00
661515590e Update dependencies 2017-10-17 17:25:27 -04:00
4e3369cd03 List all valid TTRSS input 2017-10-15 12:47:07 -04:00
fbbf751214 Implement the TTRSS getLabels operation; fixes #89 2017-10-13 17:05:06 -04:00
2e395f3cec Complete backend support for labels 2017-10-13 00:04:26 -04:00
a343b78b02 Make exporting the database test fixture easier 2017-10-13 00:03:25 -04:00
4ab004bbab Speed up SQLite timeout tests 2017-10-12 09:18:37 -04:00
20ff08a431 Implement TTTRSS getCounters operation; fixes #79 2017-10-11 12:55:50 -04:00
c9c6891567 Implement TTRSS getCategories; fixes #81 2017-10-07 12:46:05 -04:00
0e6eed5699 Add boolean sanitizer to ValueInfo 2017-10-07 12:44:53 -04:00
7a2de95c70 Consolidate article context handling into articleQuery function
Also consolidated article star counting into a generic articleCount function which accepts a context.

This may lead to slight efficiency losses in either listing or marking (and more significant ones in counting starred), but the advantages of centralized context handling are significant with the future addition of labels and the need to count articles under various future contexts in TTRSS.
2017-10-06 20:26:22 -04:00
26f6922b25 Partially implement labels
- Backend functions for adding, listing, removing, and editing (renaming) labels currently implemented
- TTRSS functions for adding (fixes #96), removing (fixes #97), and renaming (fixes #98) labels currently implemented
2017-10-05 17:42:12 -04:00
69b34a4e5a Implement TTRSS feed updating; fixes #86 2017-10-03 16:14:37 -04:00
03d5d554a9 Imple TTRSS functions getUnread and getConfig
- Fixes #78
- Fixes #85
2017-10-03 12:43:46 -04:00
bd6f23692c Implement TTRSS feed subscription; fixes #92 2017-10-03 10:43:09 -04:00
97b0134e56 Merge master 2017-10-02 15:42:15 -04:00
a80e283abc Perform feed discovery correctly; fixes #118 2017-10-02 11:53:52 -04:00
1b72d45adf Relegate bootstrap.php to testing; fixes #117 2017-10-01 09:33:49 -04:00
91cce6b529 Implement all TTRSS feed and category handling except subscribing to feeds
- Fixes #93
- Fixes #100
- Fixes #101
- Fixes #102
- Fixes #103
- Fixes #104
2017-09-30 22:15:55 -04:00