Commit Graph

829 Commits

Author SHA1 Message Date
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
Alexandre Alapetite
6a595ac0ad Merge pull request #525 from aledeg/issue524
Change behavior when selecting an article
2014-07-06 10:28:39 +02:00
Alexandre Alapetite
3d3b33ea2e Bug global TTL
https://github.com/marienfressinaud/FreshRSS/issues/250
2014-07-06 10:12:37 +02:00
Alexandre Alapetite
72924cb5fe Minor white space parentheses 2014-07-06 00:10:58 +02:00
Alexandre Alapetite
bc8eb560af Add TTL to control feed freshness
https://github.com/marienfressinaud/FreshRSS/issues/250
2014-07-06 00:09:31 +02:00
Alexandre Alapetite
b48dc25963 Merge pull request #516 from aledeg/stats
Refactor statistics
2014-07-05 18:43:35 +02:00
Alexis Degrugillier
6b900fe31b Change behavior when selecting an article
See #524
Before, when the configuration was set so the article is marked as read when selected, if you mark it as unread while it is open and then close it, it is marked again as read. This behavior was not straightforward.
Now, the article is not marked again as read.
2014-07-05 09:06:45 -04:00
Alexandre Alapetite
76b64a6907 Bug search
Following introduction of user-queries
2b8dc66634 (diff-be03dd1f6b53ebb2682ba9dd334bc273)
2014-07-05 12:08:17 +02:00
Alexandre Alapetite
b8e6a3b5b2 Bug feed->hash for 301 redirections, favicons 2014-07-05 11:17:23 +02:00
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
2014-07-05 01:52:41 +02:00
Alexandre Alapetite
1b43167fb8 SQL: Add f.ttl column to control feed cache duration
Preparation of https://github.com/marienfressinaud/FreshRSS/issues/250
Will also be used to disable automatic update for selected feeds
2014-07-05 01:20:45 +02:00
Alexandre Alapetite
b34f59e85a Preparation #3 for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03 22:48:29 +02:00
Alexandre Alapetite
2501bb337e Preparation #2 for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03 22:11:25 +02:00
Alexandre Alapetite
d6f4141086 Preparation for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
2014-07-03 21:26:30 +02:00
Alexandre Alapetite
8a5050289e New install logic
Now the install.php is kept in ./app/ and the trigger is
./data/do-install.php
There is no need anymore to have write access in ./p/i/
2014-07-03 21:20:11 +02:00
Alexandre Alapetite
af9e5a408a Small correction favicon
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-03 01:28:56 +02:00
Alexandre Alapetite
3275018238 Cleaning some hash functions 2014-07-03 00:43:02 +02:00
Alexandre Alapetite
5b06f6cd94 Minz_Log::NOTICE instead of DEBUG if failing to update cache of unread articles
300c508d9e
2014-07-02 00:17:08 +02:00
Alexandre Alapetite
300c508d9e Automatically correct cache number of unread articles 2014-07-01 23:30:01 +02:00
Alexandre Alapetite
63c9c47a76 SimplePie HTTP 301 Moved Permanently
Add support for HTTP 301 Moved Permanently in SimplePie
FreshRSS will automatically update the address of a feed, only in this
case.
2014-07-01 23:30:01 +02:00
Alexis Degrugillier
450df54d81 Merge branch 'stats' of https://github.com/aledeg/FreshRSS into stats
Conflicts:
	app/Controllers/statsController.php
	app/Models/StatsDAO.php
	app/i18n/en.php
	app/i18n/fr.php
	app/layout/aside_stats.phtml
	app/layout/header.phtml
	app/views/index/stats.phtml
	app/views/stats/idle.phtml
	app/views/stats/index.phtml
	app/views/stats/main.phtml
2014-06-15 12:20:57 -04:00
Alexis Degrugillier
60fe99344e Refactor and formatting 2014-06-15 12:13:33 -04:00
Alexis Degrugillier
e9cee8cc20 Fix syntax 2014-06-15 12:05:21 -04:00
Alexis Degrugillier
d9f570a84d Refactor idle feed stats 2014-06-15 12:05:21 -04:00
Alexis Degrugillier
181fcd9889 Refactor statistics
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-15 12:05:21 -04:00
Marien Fressinaud
09602acc5f Add two wrappers (_t() and _i())
- _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-15 17:49:23 +02:00
Alexis Degrugillier
177b398784 Fix syntax 2014-06-15 11:48:08 -04:00
Marien Fressinaud
81e4638f5a Merge branch 'dev' of github.com:marienfressinaud/freshrss into dev 2014-06-14 22:52:55 +02:00
Marien Fressinaud
9c931008f9 Change query icon
- Menu button is a down arrow
- Bookmark icon has moved near of "add a query"

See https://github.com/marienfressinaud/FreshRSS/pull/498
2014-06-14 22:51:39 +02:00
Marien Fressinaud
635505ecce Merge pull request #518 from aledeg/wording
Wording
2014-06-14 17:59:22 +02:00
Alexandre Alapetite
ab233dc2d2 Solve bug for passwords with special characters
https://github.com/marienfressinaud/FreshRSS/issues/328#issuecomment-43250647
2014-06-14 14:19:44 +02:00
Alexis Degrugillier
09fb8edc88 Fix wording 2014-06-14 06:40:03 -04:00
draky50110
c350828cbe Un peu de typo FR (points/exclam) 2014-06-14 09:28:36 +02:00
Marien Fressinaud
a7e8332809 Improve system of queries
- 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-14 09:04:31 +02:00
Alexis Degrugillier
1affa91312 Refactor idle feed stats 2014-06-13 18:19:09 -04:00
Marien Fressinaud
2b8dc66634 Merge branch 'user-queries' of https://github.com/aledeg/FreshRSS into aledeg-user-queries
Conflicts:
	app/layout/nav_menu.phtml
2014-06-13 20:20:43 +02:00