summaryrefslogtreecommitdiff
path: root/app/Models
AgeCommit message (Collapse)Author
2014-07-18Add statistics support for SqliteGravatar Alexis Degrugillier
Add statistics support for Sqlite by tweeking one query and rewrite an other. The rewrite implied a complete refactor of the MySql query as well. Now the code is more flexible and make less queries to the database. See #527
2014-07-17SQL: Bug with order ASCGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/538
2014-07-10Add base-theme in p/themesGravatar Marien Fressinaud
This base theme is not visible by default (no name). You can use it to create new theme. Fix https://github.com/marienfressinaud/FreshRSS/issues/533 (comment)
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-09Coding style header.phtml + possibility to change logoGravatar Marien Fressinaud
See https://github.com/marienfressinaud/FreshRSS/issues/532
2014-07-08SQL: removed superfluous transactions to avoid some dead locksGravatar Alexandre Alapetite
2014-07-07Add a configuration parameterGravatar Alexis Degrugillier
Add a parameter to choose wether or not the user want to display a confirmation dialog when clicking on "mark all as read" actions.
2014-07-07SQL: SQLite syntax uniformisationGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/commit/805c91da98c2f582e279f3c853fba9e43f572419#diff-101042bec0ff3ac9d691b2e77fca3313R7
2014-07-07SQL: improved performance for adding new articlesGravatar Alexandre Alapetite
2014-07-06Prepare statistics for SQLiteGravatar Alexandre Alapetite
Temporarily disable 30-day statistics for SQLite https://github.com/marienfressinaud/FreshRSS/issues/100 https://github.com/marienfressinaud/FreshRSS/issues/90
2014-07-06Bug global TTLGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/250
2014-07-06Add TTL to control feed freshnessGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/250
2014-07-05Merge pull request #516 from aledeg/statsGravatar Alexandre Alapetite
Refactor statistics
2014-07-05Bug feed->hash for 301 redirections, faviconsGravatar 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 #3 for SQLiteGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03Preparation #2 for SQLiteGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03Preparation for SQLiteGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03Small correction faviconGravatar Alexandre Alapetite
Ensure to try the website favicon before trying the feed URL favicon (which might be on e.g. FeedBurner with an anonymous favicon).
2014-07-03Cleaning some hash functionsGravatar Alexandre Alapetite
2014-07-01SimplePie HTTP 301 Moved PermanentlyGravatar Alexandre Alapetite
Add support for HTTP 301 Moved Permanently in SimplePie FreshRSS will automatically update the address of a feed, only in this case.
2014-06-15Refactor and formattingGravatar Alexis Degrugillier
2014-06-15Refactor statisticsGravatar Alexis Degrugillier
I made a new controller to handle statistics. The old statistics have been moved in that controller and a new action has been added to display idle feeds. I also added a menu in the left panel to navigate between the statistics pages. See #90
2014-06-15Add two wrappers (_t() and _i())Gravatar Marien Fressinaud
- _t() is a wrapper for Minz_Translate::t() - Improve coding style of Translate.php - _i() is a wrapper for FreshRSS::icon() - queries.phtml shows how they work - It is a lot easier to read files with these functions :)
2014-06-14Improve system of queriesGravatar Marien Fressinaud
- Coding style - More checks server side - Default query name is "Query n°X" - List of queries is moved into nav_menu, in a dropdown - Better system to remove fields in JS (to a.remove elements, give an attibute data-remove="id_to_remove") - Fix a bug in lib/Mine/Request.php (htmlspecialchars_utf8 can be applied on arrays now) - Few theme improvements - Add an element .no-mobile to apply to elements which should not appear on mobiles See https://github.com/marienfressinaud/FreshRSS/pull/498
2014-06-13Merge branch 'user-queries' of https://github.com/aledeg/FreshRSS into ↵Gravatar Marien Fressinaud
aledeg-user-queries Conflicts: app/layout/nav_menu.phtml
2014-06-05Add an option to choose content widthGravatar Marien Fressinaud
- 4 options: thin, medium, large and no limit - Thin is by default
2014-06-05Update links to change viewGravatar Marien Fressinaud
- Dropdown menu is transformed into stick buttons - 3 new icons (view-normal, view-global, view-reader) - Link to access RSS is now next to these buttons (should we kept it here?)
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-05-14Add video control for podcastsGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/504
2014-05-13Add audio control for podcastsGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/504
2014-05-04Add user queriesGravatar Alexis Degrugillier
It's an intermediary step to remove the favorite button. I add a button to store the current query as a favorite query. It redirects automatically to the configuration page where it is possible to name and remove user queries. To make the queries more straigtforward, I removed the default behavior when searching for a string. This way, when we search for a string, the filter is not defaulted to all articles.
2014-04-27Add a shortcut to access the search fieldGravatar Alexis Degrugillier
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-13Change rss icon fallback valueGravatar 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-12Extract RSS feed from menuGravatar Alexis Degrugillier
The RSS action has now its own button. I also reorganized the button display order to be more natural. I did not find an appropriate Unicode replacement for the Rss icon.
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-29Better OPML import / exportGravatar Marien Fressinaud
- use a new OPML library (https://github.com/marienfressinaud/lib_opml) - import has been completely rewritten (far better!) - introduce addFeedObject and addCategoryObject (in DAO for the moment). Permit to add easily feeds and categories (check if they already exist in DB) - introduce html_chars_utf8 (wrap htmlspecialchars for UTF-8)
2014-03-16Bug feed name with special charsGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/462
2014-03-15Add a button to reveal/hide passwordGravatar Alexis Degrugillier
I add a button on the configure user interface to reveal the password for 2 seconds and hide it after that period. See #442 I am not sure if the fallback unicode text for the icon is correct. I can not make it work.
2014-03-08Interface to enable/disable API and unsafe automatic loginGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/13 https://github.com/marienfressinaud/FreshRSS/issues/440
2014-03-08Change test on URL parameterGravatar Alexis Degrugillier
2014-03-08Change testGravatar Alexis Degrugillier
2014-03-08Sharing optimizationGravatar Alexis Degrugillier
Change the storage and display of sharings to improve the time needed to generate the page. Instead of looking for a default value when displaying the sharing links, they are added during the configuration.
2014-03-03API: Add continuation modeGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/443 Needed for e.g. EasyRSS