Commit Graph

158 Commits

Author SHA1 Message Date
Marien Fressinaud
6c8b36f04e Let's begin the big refactoring!
Minz_Translate::t\s? replaces by _t

See https://github.com/marienfressinaud/FreshRSS/issues/655
2014-10-05 15:55:20 +02:00
Alexis Degrugillier
38a6f0c4b2 Add a shortcut to close drop-down lists 2014-10-04 09:06:35 -04:00
Marien Fressinaud
f1a5a174ea Merge branch '646-new-cat-system' into dev 2014-10-02 09:36:32 +02:00
Marien Fressinaud
7be9613fa6 Merge pull request #642 from aledeg/stats
Improve statistics
2014-10-02 09:31:54 +02:00
Marien Fressinaud
1eef789306 Reorganize subscription management code
There is still a lot of work to do. Some links are broken.

See https://github.com/marienfressinaud/FreshRSS/issues/646
2014-10-01 11:27:41 +02:00
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.
2014-09-30 22:28:47 +02:00
Marien Fressinaud
edb02c8fef Move creation of categories in a new Controller
Category names are 255 chars max
2014-09-30 15:02:56 +02:00
Alexis Degrugillier
cd88414abc Add an average per day for the 30 day period 2014-09-29 18:54:03 -04:00
Marien Fressinaud
c141622213 Remove German language for 0.8 release 2014-09-26 14:32:52 +02:00
Marien Fressinaud
5a1baff9be Refactor removing query by get param
See https://github.com/marienfressinaud/FreshRSS/issues/625
2014-09-24 13:28:09 +02:00
Marien Fressinaud
55843ff7a5 Few fixes about statistics 2014-09-19 16:45:16 +02:00
Marien Fressinaud
24f7a65594 Merge pull request #626 from aledeg/unread-error
Refactor code for strict unread message display
2014-09-19 13:40:59 +02:00
Marien Fressinaud
8731de5c3a Fix repartition stats with 0 or 1 article. 2014-09-19 10:37:29 +02:00
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
2014-09-18 21:15:20 -04:00
Alexandre Alapetite
ca74b2fca3 Merge pull request #620 from plopoyop/dev
Ajout d'un timeout pour la notification HTML5
2014-09-18 13:34:22 +02:00
plopoyop
4211539c24 Add timeout option for HTML5 notification 2014-09-18 10:46:34 +02:00
Alexandre Alapetite
fc86d14ade Bug purge
https://github.com/marienfressinaud/FreshRSS/issues/493
2014-09-17 21:17:55 +02:00
Marien Fressinaud
9fec7f328b Coding style + i18n
Change "Show only unread or read if no unread" into "Adjust showing". It
is less explicit but shorter.
2014-09-17 11:22:45 +02:00
Marien Fressinaud
f5c863705b Merge branch 'reading-conf' of github.com:aledeg/FreshRSS into aledeg-reading-conf 2014-09-17 09:30:31 +02:00
Alexis Degrugillier
ce239f83c4 Add a feature to add only unique shares
Before, it was possible to have different shares of the same type with the same information.
Now, even if you try to input identical shares, only the first one is kept. Of course, the verification is simple, so for instance if you input two shares to the same shaarli instance with different names, they are kept.

See #614
2014-09-15 18:00:17 -04:00
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
2014-09-06 11:32:52 -04:00
Alexandre Alapetite
228e89dbe3 Merge pull request #592 from aledeg/more-shortcuts
Add shortcuts
2014-09-04 18:58:08 +02:00
Alexandre Alapetite
8b11e68f2a Merge pull request #600 from aledeg/average
Add average on repartition charts.
2014-09-04 08:33:17 +02:00
Marien Fressinaud
a2ba5e2a21 Add a first version of i18n for German
All the strings are not completed yet, but it's a good start!
2014-09-02 18:50:41 +02:00
Alexis Degrugillier
f002dbe4ce Add average on repartition charts.
It needs some verification on the value used to calculate the averages.
2014-09-01 20:58:05 -04:00
Alexis Degrugillier
7b17c60bb1 Add shortcuts
Add a shortcut to open the wiki. Shortcut is F1 and is not modifiable.

Add a shortcut to access user filters the same way to access share actions.
2014-08-24 11:37:07 -04:00
Marien Fressinaud
1316ada152 Fix bug add favorite entry
See https://github.com/marienfressinaud/FreshRSS/issues/494
2014-08-23 22:02:22 +02:00
Alexis Degrugillier
b1139bf39c Add category reading option
Before, when a category was selected, it was expanded to show the feeds in that category.
Now, there is a parameter that allows the user to choose either if he wants the old behaviour or if he wants to expand only when needed (when selecting a feed or when clicking the appropriate button)
2014-08-23 08:18:47 -04:00
Alexandre Alapetite
0d0b8cd39b Error when feed does not exist
https://github.com/marienfressinaud/FreshRSS/issues/579
2014-08-19 21:39:45 +02:00
Alexandre Alapetite
50075bfbdc Improvement for ASC order
https://github.com/marienfressinaud/FreshRSS/issues/495
2014-08-19 20:58:18 +02:00
Alexandre Alapetite
d477373ef2 SQLite: Bug creation new users
Not tested much yet. Some MySQL parts changed a bit too to double-check.
https://github.com/marienfressinaud/FreshRSS/issues/574
2014-08-09 19:58:39 +02:00
Alexandre Alapetite
2b25aa8f68 Option to hide (or not) feeds/categories with no unread article
https://github.com/marienfressinaud/FreshRSS/issues/430
https://github.com/marienfressinaud/FreshRSS/issues/575
2014-08-09 18:46:22 +02:00
Alexandre Alapetite
65d6796e92 First bug for old articles first
https://github.com/marienfressinaud/FreshRSS/issues/495
2014-08-07 11:29:19 +02:00
Alexandre Alapetite
274c8096e3 Experimental: Removed lazyload.js and use postpone attribute instead
https://github.com/marienfressinaud/FreshRSS/issues/316
The performance of lazyload.js was not good enough, and not really
needed anyway.
This change mostly affects mainly situations when the content of
articles is shown by default, not so much when they are collapsed
Using HTML5 lazyload and postpone attributes by default on all img,
audio, iframe, video.
http://www.w3.org/TR/resource-priorities/#attr-postpone
Postpone attribute is removed by JavaScript if the user does not want
the lazyload behaviour.
In the case when users do want the lazyload behaviour, in normal view
with articles hidden, we furthermore use the data-original approach to
be sure to support current browsers.
+Corrected some bugs with enclosures, and some images not appearing
before the first scroll.
+Now faster regex processing img and iframe at once (was not practical
with lazyload.js)
2014-08-02 19:57:15 +02:00
Marien Fressinaud
4a0e5ac037 Merge pull request #548 from aledeg/more-stats
Add article repartition in stats
2014-07-29 00:07:07 +02:00
plopoyop
ad9fbf3887 Correct bug in add/remove users 2014-07-26 13:29:55 +02:00
Alexis Degrugillier
aa317eb294 Add repartition statistic support in Sqlite 2014-07-24 22:57:31 -04:00
Alexis Degrugillier
d049c1bc80 Add article repartition in stats
Add article repartition per hour, per day of week, per month for all feeds but also for individual feeds.
2014-07-24 21:57:59 -04:00
Marien Fressinaud
d5d3f6dcfa Fix bugs in import/export
- EntryDAO.php: add a missing "FreshRSS_EntryDAO::"
- Fix htmlspecialchars in opml export
2014-07-23 23:56:16 +02:00
Alexandre Alapetite
937cb4b066 Idle feeds: link to configuration page
https://github.com/marienfressinaud/FreshRSS/issues/544
2014-07-22 13:41:31 +02:00
Alexis Degrugillier
68c0a827d2 Add statistics support for Sqlite
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-18 20:35:03 -04:00
Alexandre Alapetite
3403af3050 SQL: Bug with order ASC
https://github.com/marienfressinaud/FreshRSS/issues/538
2014-07-17 11:56:15 +02:00
Marien Fressinaud
f56dd400b7 Add base-theme in p/themes
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-10 17:42:42 +02:00
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)
2014-07-10 15:49:51 +02:00
Marien Fressinaud
c1728fe0d7 Coding style header.phtml + possibility to change logo
See https://github.com/marienfressinaud/FreshRSS/issues/532
2014-07-09 19:39:21 +02:00
Alexandre Alapetite
0f842c1aea SQL: removed superfluous transactions to avoid some dead locks 2014-07-08 14:14:02 +02:00
Alexis Degrugillier
21d8c03ac9 Add a configuration parameter
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-07 19:34:47 -04:00
Alexandre Alapetite
e358c5e2e1 SQL: SQLite syntax uniformisation
805c91da98 (diff-101042bec0ff3ac9d691b2e77fca3313R7)
2014-07-07 21:12:13 +02:00
Alexandre Alapetite
439a0e2991 SQL: improved performance for adding new articles 2014-07-07 18:25:48 +02:00
Alexandre Alapetite
3bbd0e446f Prepare statistics for SQLite
Temporarily disable 30-day statistics for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
https://github.com/marienfressinaud/FreshRSS/issues/90
2014-07-06 11:54:00 +02:00