aboutsummaryrefslogtreecommitdiff
path: root/app/Models/EntryDAO.php
AgeCommit message (Collapse)Author
2016-08-01MySQL UTF8MB4 minor detailsGravatar Alexandre Alapetite
2016-07-30Update MySQL to utf8mb4 (full unicode) 🔥Gravatar Alexandre Alapetite
* 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
2015-07-10Avoid hex2bin for PHP 5.3Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/894 And use native hexadecimal function when available (MySQL) to avoid having binary data in the SQL logs.
2015-05-31Minor comment 1.1.1Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/845
2015-05-31MySQL create table bugGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/845 And updated version comments to 1.1.1
2015-05-24Bug EntryDAO filterGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/850
2015-05-11More SQLite compatibilityGravatar Alexandre Alapetite
Additional changes to add compatibility with SQLite for the new hash/lastSeen mode of updating articles.
2015-05-10Hexadecimal literals do not work with SQLite/PDOGravatar Alexandre Alapetite
X'09AF' hexadecimal literals do not work with SQLite/PDO. Replaced by PHP hex2bin(). https://github.com/FreshRSS/FreshRSS/commit/711530a512b370d79b079205ce1f8376174f7f03
2015-05-09Merge branch 'FreshRSS/dev' into devGravatar Alexandre Alapetite
2015-05-09SQL: update request for updated articlesGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/798
2015-04-22Split the search into valuesGravatar Alexis Degrugillier
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
2015-04-04SQL: detection of updates, and preparation for better burgeGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/798 https://github.com/FreshRSS/FreshRSS/issues/493 SQLite not yet tested. Only MySQL tested so far.
2015-03-05Fix spacingGravatar Alexis Degrugillier
2015-03-05Introduce user queries objectsGravatar Alexis Degrugillier
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.
2015-03-02Add missing white spaceGravatar Alexis Degrugillier
2015-02-22Change test to verify if there is a filterGravatar Alexis Degrugillier
2015-02-21Use the search object to get values in the searchGravatar Alexis Degrugillier
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 '.
2015-01-06Fix last calls to Minz_Configuration methodsGravatar Marien Fressinaud
- 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
2014-12-06Add commentsGravatar Alexis Degrugillier
2014-10-22Remove STATE_STRICTGravatar Marien Fressinaud
See https://github.com/marienfressinaud/FreshRSS/issues/634
2014-10-05Replace Minz_Log::record by corresponding methodsGravatar Marien Fressinaud
Please not use Minz_Log::record anymore! See https://github.com/marienfressinaud/FreshRSS/issues/655
2014-10-05Coding styleGravatar Marien Fressinaud
Remove spaces before parenthesis bis See https://github.com/marienfressinaud/FreshRSS/issues/655
2014-09-30SQL performance: Removed filter to hide old articlesGravatar Alexandre Alapetite
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.
2014-09-18Refactor code for strict unread message displayGravatar Alexis Degrugillier
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
2014-09-06Add a new configuration optionGravatar Alexis Degrugillier
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
2014-08-23Fix bug add favorite entryGravatar Marien Fressinaud
See https://github.com/marienfressinaud/FreshRSS/issues/494
2014-08-19Improvement for ASC orderGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/495
2014-08-07First bug for old articles firstGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/495
2014-07-23Fix bugs in import/exportGravatar Marien Fressinaud
- EntryDAO.php: add a missing "FreshRSS_EntryDAO::" - Fix htmlspecialchars in opml export
2014-07-17SQL: Bug with order ASCGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/538
2014-07-10SQL: MySQL speed optimisationGravatar Alexandre Alapetite
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)
2014-07-08SQL: removed superfluous transactions to avoid some dead locksGravatar Alexandre Alapetite
2014-07-07SQL: improved performance for adding new articlesGravatar Alexandre Alapetite
2014-07-05Add support for SQLiteGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/100 Warning: MySQL has been changed too, so bugs may have been introduced
2014-07-03Preparation for SQLiteGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-06-01Search order of filtersGravatar Alexandre Alapetite
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
2014-06-01New search system, including date: and pubdate: and combinationGravatar Alexandre Alapetite
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
2014-04-15Minor syntax changes for: New toggle buttons to filter articlesGravatar Alexandre Alapetite
See http://programmers.stackexchange.com/questions/23852/bitwise-or-vs-adding-flags https://github.com/marienfressinaud/FreshRSS/pull/486 https://github.com/marienfressinaud/FreshRSS/issues/376
2014-04-13Move state constants from Configuration to EntryGravatar Alexis Degrugillier
2014-04-13Revert deletion of the favorite actionsGravatar Alexis Degrugillier
2014-04-13Add a new status for 'ALL'Gravatar Alexis Degrugillier
I made the conversion in every file I can think of. It should not have any reference to the string 'all' for the state context
2014-04-12Delete favorite buttonGravatar Alexis Degrugillier
I extract drop-down menu actions to make them as button action in the page header. I removed the favorite button on the category list because it is a duplicate from the button action. Now button action act as filters and you can combine them. It is a test to see if we can keep it like that. There is still work to do to extract other actions from the drop-down list. I did not want to change everything if we don't keep it. See #376 and #277
2014-03-30Import of articles is implemented!Gravatar Marien Fressinaud
- Remove massiveImportAction and addCategories from FeedController - Fix typo for some methods (camelCase) - addCategoryObject and addFeedObject return id if corresponding object already exists in DB - introduce addEntryObject. Return -1 if Entry already exist (in order to keep quite good performances) - Complete importArticles method Need some more tests + better performance
2014-03-03API: Add continuation modeGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/443 Needed for e.g. EasyRSS
2014-03-02API : SQL optimisation WHERE ... IN, and better compatibility EasyRSSGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/13
2014-03-01API: SQL optimisationGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/13
2014-02-28API streamContents for categories and feedsGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/13
2014-02-27Alpha version of Google Reader compatible APIGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/13 Hardcoded passwords, no possibility to add/delete feeds or edit categories yet.
2014-02-21Bug "mark all as read" when using DESC and pagination and no scrollGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/431#issuecomment-35774488
2014-01-08Ajout d'un filtre sur les articles lusGravatar Alexis Degrugillier
Ajout d'un filtre sur les articles favoris