Commit Graph

864 Commits

Author SHA1 Message Date
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
737b206d8c Reading config: change order of settings
https://github.com/marienfressinaud/FreshRSS/issues/430
2014-08-09 18:58:04 +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
Marien Fressinaud
c81be3c20a Fix problem token
Token was present in RSS url even without token value.
2014-08-09 15:26:12 +02:00
Marien Fressinaud
5490a190da Fix import/export view
Some bugs introduce because I was tired surely ;)
2014-08-09 15:01:22 +02:00
Alwaysin
5c32d0887f Correct typo in french translation (missing 's') (dev) 2014-08-09 12:35:15 +02:00
Marien Fressinaud
773d73314b Fix typo
Oops? :)
2014-08-09 00:35:06 +02:00
Marien Fressinaud
d007b22beb Change view import/export if no zip extension
Show a select with only one choice is there is no zip extension on
the server.
Fix typo.

See https://github.com/marienfressinaud/FreshRSS/issues/494
2014-08-09 00:23:22 +02:00
Marien Fressinaud
fda8eba4d1 Add a test to check presence of Zip archive.
A notification is shown if we cannot use ZipArchive.

See https://github.com/marienfressinaud/FreshRSS/issues/494
2014-08-09 00:12:37 +02:00
Marien Fressinaud
84826491a3 Improve export function
If there is only one file to export, we don't need of a .zip archive.
So it is exported as a simple file (.json or .opml)

See https://github.com/marienfressinaud/FreshRSS/issues/494
2014-08-08 23:53:16 +02:00
Marien Fressinaud
d289c5340f Add support of HTML5 notifications
Show a notification if there are at least 1 new article to read.
Support only window.Notification API.

See https://github.com/marienfressinaud/FreshRSS/issues/399
2014-08-08 21:30:23 +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
Alexis Degrugillier
e05e9a8702 Refactor install file to check available databases
Now it checks for any pdo driver supported instead of only mysql
2014-08-03 08:47:18 -04:00
Alexandre Alapetite
a9a6192948 Unicode tick without colour
https://github.com/marienfressinaud/FreshRSS/issues/560
The former was green in Firefox 32 beta
2014-08-02 20:29:51 +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
Alexandre Alapetite
8e5d98c4be Dynamic favicon showing the number of unread articles
https://github.com/marienfressinaud/FreshRSS/issues/539
Works in Firefox 32 and Opera 12. Does not work in IE 11 but without
error.
We should test if icons still work in many contexts such as placing a
shortcut on the desktop of various platforms.
2014-08-02 01:33:33 +02:00
Alexandre Alapetite
a0930a5ad6 Strict Referer domain against XSRF
https://github.com/marienfressinaud/FreshRSS/issues/554
2014-08-01 23:22:41 +02:00
Alexandre Alapetite
d3f730287d Install script was not keeping all config settings
https://github.com/marienfressinaud/FreshRSS/issues/537
2014-08-01 21:36:35 +02:00
Alexandre Alapetite
35be1769de Basic protection against XSRF using Referer
https://github.com/marienfressinaud/FreshRSS/issues/554
Also edited the error controler to use the log message passed in
Minz_Error::error().
2014-08-01 20:20:25 +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
Alexis Degrugillier
1739e2e9d2 Remove unnecessary title property 2014-07-28 17:59:20 -04:00
Alexis Degrugillier
2739817cfb Small fixes to follow @marienfressinaud recommandations (take 2) 2014-07-28 17:46:03 -04:00
Alexandre Alapetite
1d73286aaa Merge pull request #550 from plopoyop/dev
Correct bug in add/remove users
2014-07-26 19:37:06 +02:00
Alexandre Alapetite
d19824b919 Hide read feeds and read categories when in unread mode
https://github.com/marienfressinaud/FreshRSS/issues/430
There are some repeated HTML attributes (`data-unread` and `active`)
which could maybe be simplified.
If some people do not like this behaviour, we could consider having an
option.
2014-07-26 13:56:44 +02:00
plopoyop
ad9fbf3887 Correct bug in add/remove users 2014-07-26 13:29:55 +02:00
Alexis Degrugillier
84dcd25d89 Small fixes to follow @marienfressinaud recommandations 2014-07-25 06:36:43 -04:00
Alexandre Alapetite
584665eed4 Stats idle: hide empty periods
e507256d0b (commitcomment-7119169)
2014-07-25 10:33:06 +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
e507256d0b Stats idle feed small bug
Some feeds were listed more than once. A bit more independent from the
SQL query.
https://github.com/marienfressinaud/FreshRSS/issues/544
2014-07-23 00:24:00 +02:00
Alexandre Alapetite
72293427ac Idle feeds: show tooltip with last update date
https://github.com/marienfressinaud/FreshRSS/issues/544
2014-07-22 13:56:01 +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
Alexandre Alapetite
2da4c13263 Number of unread articles as prefix in page title
https://github.com/marienfressinaud/FreshRSS/issues/536
2014-07-13 22:36:34 +02:00
Marien Fressinaud
85bae5436c Fix bug changement default view
- It was impossible to set default view to "Show all articles"
- "0" was compared to 0 ("O" === 0 => false)
- cast value from Minz_Request into integer
2014-07-10 20:44:35 +02:00
Marien Fressinaud
52763ed97d Fix a bug during installation
- If MySQL database was configured and user choosed SQLite, an error was
  raised at the first submit.
- Cast STEP into integer
2014-07-10 18:46:38 +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
ab9d656135 Block user to click many times on the refresh button
See https://github.com/marienfressinaud/FreshRSS/issues/513
2014-07-09 20:20:17 +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
Alexis Degrugillier
92f1d6d658 Add confirmation on button as well 2014-07-07 19:34:38 -04:00
Alexis Degrugillier
41c2966543 Add a confirmation dialog when clicking on the big tick
See #519
Before, when clicking on the big tick to mark all articles as read, it triggers directly the action.
Now, it asks for a confirmation to block unwanted user clicks.
2014-07-07 19:34:17 -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
Alexandre Alapetite
96057fe491 Minor #524
https://github.com/marienfressinaud/FreshRSS/issues/524
2014-07-06 10:33:49 +02:00