Alexandre Alapetite
50827447e3
Better error message in markReadFeed
...
https://github.com/FreshRSS/FreshRSS/issues/1299
8 years ago
Alexandre Alapetite
05cabe99ae
Take better advantage of other users refresh
8 years ago
Alexandre Alapetite
32ac41439a
PostgreSQL case-insensitivity bug
8 years ago
Alexandre Alapetite
a7b605f2a5
Bug updateEntry()
8 years ago
Alexandre Alapetite
1d8c24c73f
BindParam bug
8 years ago
Alexandre Alapetite
548250620b
PostgreSQL updateEntry()
8 years ago
Alexandre Alapetite
9f04e2bf32
MySQL use unhex instead of hex litteral
...
X' syntax did not work well with bind values
8 years ago
Alexandre Alapetite
f66be86e41
Quoted upper-cases instead of string replace
8 years ago
Alexandre Alapetite
c25fdbcc09
More PostgreSQL
8 years ago
Alexandre Alapetite
edd4516178
More SQLite fix for mark search as read
8 years ago
Alexandre Alapetite
6afa36e7e1
SQLite fix for mark search as read
...
https://github.com/FreshRSS/FreshRSS/issues/1220
https://github.com/FreshRSS/FreshRSS/pull/1218
https://github.com/FreshRSS/FreshRSS/issues/608
8 years ago
Alexandre Alapetite
32c734ef62
SQL mark search as read
...
https://github.com/FreshRSS/FreshRSS/issues/608
8 years ago
Alexandre Alapetite
7c1b5e322c
PostgreSQL draft
...
https://github.com/FreshRSS/FreshRSS/issues/416
Based on @Damstre work https://github.com/FreshRSS/FreshRSS/pull/1071
Not tested
8 years ago
Alexandre Alapetite
2859eff94d
MySQL UTF8MB4 minor details
8 years ago
Alexandre Alapetite
fe18d12551
Update MySQL to utf8mb4 (full unicode) 🔥
...
* Requires MySQL 5.5.3+ (drop support for MySQL 5.0)
* Requires PHP 5.3.3+ (drop support for PHP 5.3.0)
https://github.com/FreshRSS/FreshRSS/issues/789#issuecomment-73878076
8 years ago
Alexandre Alapetite
6b7d946266
Avoid hex2bin for PHP 5.3
...
https://github.com/FreshRSS/FreshRSS/issues/894
And use native hexadecimal function when available (MySQL) to avoid
having binary data in the SQL logs.
9 years ago
Alexandre Alapetite
384a146883
Minor comment 1.1.1
...
https://github.com/FreshRSS/FreshRSS/issues/845
9 years ago
Alexandre Alapetite
0d32f694dd
Minor comment 1.1.1
...
https://github.com/FreshRSS/FreshRSS/issues/845
9 years ago
Alexandre Alapetite
96ba71e618
MySQL create table bug
...
https://github.com/FreshRSS/FreshRSS/issues/845
And updated version comments to 1.1.1
9 years ago
Alexandre Alapetite
9d55ee5ae9
Bug EntryDAO filter
...
https://github.com/FreshRSS/FreshRSS/issues/850
10 years ago
Alexandre Alapetite
217c191a1b
More SQLite compatibility
...
Additional changes to add compatibility with SQLite for the new
hash/lastSeen mode of updating articles.
10 years ago
Alexandre Alapetite
0745252b68
Hexadecimal literals do not work with SQLite/PDO
...
X'09AF' hexadecimal literals do not work with SQLite/PDO. Replaced by
PHP hex2bin().
711530a512
10 years ago
Alexandre Alapetite
7f7de31c1d
SQL: update request for updated articles
...
https://github.com/FreshRSS/FreshRSS/issues/798
10 years ago
Alexis Degrugillier
d229216ccc
Split the search into values
...
Before, the search was a single value.
Now it is splited in chuncks when separated by spaces.
Except if they are enclosed by single quotes or double quotes.
For some reasons, the unit tests are working for both single and double quotes but the
search box isn't. It is working only with single quotes.
We need to investigate the reason of this behavior.
See #823
10 years ago
Alexandre Alapetite
711530a512
SQL: detection of updates, and preparation for better burge
...
https://github.com/FreshRSS/FreshRSS/issues/798
https://github.com/FreshRSS/FreshRSS/issues/493
SQLite not yet tested. Only MySQL tested so far.
10 years ago
Alexis Degrugillier
24f6c1eabb
Fix spacing
10 years ago
Alexis Degrugillier
5b90e1f4a0
Introduce user queries objects
...
There is now an object to manipulate user queries. It allows to move logic to handle those from the view and the controller in the model.
Thus making the view and the controller easier to read.
I introduced a new interface to start using dependency injection. There is still some rough edges but we are moving in the right direction.
The new object is fully tested but it still need some improvements, for instance, it is still tied to the search object.
There might be a better way to do that.
10 years ago
Alexis Degrugillier
fe24636e04
Add missing white space
10 years ago
Alexis Degrugillier
e897afa7cc
Change test to verify if there is a filter
10 years ago
Alexis Degrugillier
1156129593
Use the search object to get values in the search
...
It is now possible to combine multiple keywords to do a search. The separation of concern is better now since the search extraction is not done in the DAO anymore.
At the moment, a multiple keyword search is stored as this. It could be nice to have it rendered differently in the search page to make it more readable.
At the moment, there is a problem with search enclosed by ". Same search works well when enclosed by '.
10 years ago
Marien Fressinaud
5f9672111f
Fix last calls to Minz_Configuration methods
...
- We have still to fix actualize_script and greader api (refactoring?)
- We have to fix the FreshRSS_Configuration calls
- We have to fix availableLanguages calls
See https://github.com/FreshRSS/FreshRSS/issues/730
10 years ago
Alexis Degrugillier
eaaf8cdbf1
Add comments
10 years ago
Marien Fressinaud
8a6ad05eba
Remove STATE_STRICT
...
See https://github.com/marienfressinaud/FreshRSS/issues/634
10 years ago
Marien Fressinaud
d8f4681382
Replace Minz_Log::record by corresponding methods
...
Please not use Minz_Log::record anymore!
See https://github.com/marienfressinaud/FreshRSS/issues/655
10 years ago
Marien Fressinaud
b5dee73ea0
Coding style
...
Remove spaces before parenthesis bis
See https://github.com/marienfressinaud/FreshRSS/issues/655
10 years ago
Alexandre Alapetite
a5a0bd9a35
SQL performance: Removed filter to hide old articles
...
As discussed on
https://github.com/marienfressinaud/FreshRSS/issues/493#issuecomment-56266415
For performance, but this is also a good simplification.
Will help with PostgreSQL
https://github.com/marienfressinaud/FreshRSS/issues/416 and SQLite too
https://github.com/marienfressinaud/FreshRSS/issues/100 because the main
query becomes simpler.
Me may need to introduce another system to hide old articles, if this is
a problem for some users.
Also, the feature showing "empty feeds" in another colour may need to be
adapted.
10 years ago
Alexis Degrugillier
71617080e2
Refactor code for strict unread message display
...
Before, when you choose the show unread message option and the hide categories and feeds options, the categories and feeds weren't hidden. Now it is working properly.
Before, the unread filter icon was not selected with the previous way of using the constants. Now, the filter is highlighted when selected in strict mode.
See #619
10 years ago
Alexis Degrugillier
83832a39c4
Add a new configuration option
...
Before, when you selected the option to display only unread articles, it shows read articles if no unread article were found.
Now, this option is renamed to include information on fallback behavior and a new option is created to have the "only unread" behavior
See #551
It is missing the german translation
10 years ago
Marien Fressinaud
1316ada152
Fix bug add favorite entry
...
See https://github.com/marienfressinaud/FreshRSS/issues/494
10 years ago
Alexandre Alapetite
50075bfbdc
Improvement for ASC order
...
https://github.com/marienfressinaud/FreshRSS/issues/495
10 years ago
Alexandre Alapetite
65d6796e92
First bug for old articles first
...
https://github.com/marienfressinaud/FreshRSS/issues/495
10 years ago
Marien Fressinaud
d5d3f6dcfa
Fix bugs in import/export
...
- EntryDAO.php: add a missing "FreshRSS_EntryDAO::"
- Fix htmlspecialchars in opml export
10 years ago
Alexandre Alapetite
3403af3050
SQL: Bug with order ASC
...
https://github.com/marienfressinaud/FreshRSS/issues/538
10 years ago
Alexandre Alapetite
6c83264f83
SQL: MySQL speed optimisation
...
Would be nice to test with other versions of MySQL too.
Comparison before/after:
mysql> EXPLAIN SELECT e.id, e.guid, e.title, e.author,
UNCOMPRESS(content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
(SELECT e1.id FROM `freshrss_alex_entry` e1 INNER JOIN
`freshrss_alex_feed` f ON e1.id_feed=f.id WHERE f.priority > 0 AND
(e1.id >= 1381615200000000 OR e1.is_read=0 OR e1.is_favorite=1 OR
(f.keep_history <> 0)) ORDER BY e1.id DESC LIMIT 31) e2 ON e2.id=e.id
ORDER BY e.id DESC;
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys
| key | key_len | ref | rows | Extra
|
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
| 1 | PRIMARY | <derived2> | ALL | NULL
| NULL | NULL | NULL | 31 | Using temporary; Using
filesort |
| 1 | PRIMARY | e | eq_ref | PRIMARY
| PRIMARY | 8 | e2.id | 1 |
|
| 2 | DERIVED | f | range | PRIMARY,priority,keep_history
| priority | 1 | NULL | 137 | Using where; Using
temporary; Using filesort |
| 2 | DERIVED | e1 | ref |
PRIMARY,id_feed,is_favorite,is_read | id_feed | 2 | freshrss.f.id
| 452 | Using where |
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
4 rows in set (3.50 sec)
mysql> EXPLAIN SELECT e.id, e.guid, e.title, e.author,
UNCOMPRESS(content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
(SELECT e1.id FROM `freshrss_alex_entry` e1 INNER JOIN
`freshrss_alex_feed` f ON e1.id_feed=f.id WHERE f.priority > 0 AND e1.id
<=9000000000000000 AND (e1.id >= 1381615200000000 OR e1.is_read=0 OR
e1.is_favorite=1 OR (f.keep_history <> 0)) ORDER BY e1.id DESC LIMIT 31)
e2 ON e2.id=e.id ORDER BY e.id DESC;
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
| id | select_type | table | type | possible_keys
| key | key_len | ref | rows | Extra
|
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
| 1 | PRIMARY | <derived2> | ALL | NULL
| NULL | NULL | NULL | 31 | Using temporary;
Using filesort |
| 1 | PRIMARY | e | eq_ref | PRIMARY
| PRIMARY | 8 | e2.id | 1 |
|
| 2 | DERIVED | e1 | range |
PRIMARY,id_feed,is_favorite,is_read | PRIMARY | 8 | NULL
| 70084 | Using where |
| 2 | DERIVED | f | eq_ref | PRIMARY,priority,keep_history
| PRIMARY | 2 | freshrss.e1.id_feed | 1 | Using where
|
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
4 rows in set (0.01 sec)
10 years ago
Alexandre Alapetite
0f842c1aea
SQL: removed superfluous transactions to avoid some dead locks
10 years ago
Alexandre Alapetite
439a0e2991
SQL: improved performance for adding new articles
10 years ago
Alexandre Alapetite
805c91da98
Add support for SQLite
...
https://github.com/marienfressinaud/FreshRSS/issues/100
Warning: MySQL has been changed too, so bugs may have been introduced
10 years ago
Alexandre Alapetite
d6f4141086
Preparation for SQLite
...
https://github.com/marienfressinaud/FreshRSS/issues/100
10 years ago
Alexandre Alapetite
d1b31b1a61
Search order of filters
...
For now, process them in the same order as specified by the user
Specifying for instance `date:` first will be much faster than
specifying a free text word first.
https://github.com/marienfressinaud/FreshRSS/issues/511
10 years ago
Alexandre Alapetite
ecac55d3d3
New search system, including date: and pubdate: and combination
...
Now also accepts combination of #tag and intitle: and inurl: and author:
and the new date: and pubdate:
https://github.com/marienfressinaud/FreshRSS/issues/511
Each search prefix stop at the first space (we should add a possibility
to have quotes for multiple words)
So if you want two words in title, write "intitle:word1 intitle:word2"
Examples of dates:
date:2014
date:2014-02/2014-04 or date:201402/201404
date:P1W for the last week
10 years ago