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
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
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.
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
Change the URL to the refresh link. Before it was redirecting to the home page.
Now it is redirecting to the same page, which make more sense.
See #457
Before, when there was no unread articles, all articles where displayed. This behaviour was not the one intended.
Now, when there is no unread articles, a message is displayed to alert that there is no article.
See #428
Correction after comment
Before, when there was no unread articles, all articles where displayed. This behaviour was not the one intended.
Now, when there is no unread articles, a message is displayed to alert that there is no article.
See #428
- if user cannot log in, a 403 error is showed (and it is done in controller)
- 403 error message has been changed to match with the error
- add blank spaces on persona login page
- add comments
- forward request is done in the controller (no Minz_Request::forward() in the
view, please)
- "soft" forward to the login form (no need of 302)
- show a 403 page (no authenticated) for rss output when token is wrong
https://github.com/marienfressinaud/FreshRSS/pull/398
Je suis reparti du commit 7a510af73a, ai
ajouté la gestion des espaces à une fonction de conversion des entiers,
corrigé ce qui devait être fait côté PHP, et remis manuellement les
patchs intermédiaires (j'espère ne pas avoir oublié de corrections).
Le code est même plus simple qu'avant.
Testé aussi sur titre et favoris
Ajout de la liste des 10 plus gros contributeurs
Ajout de règles CSS pour les thèmes Flat et Dark
Modification de l'affichage des camemberts (tri par nombre qui remplace le tri alphabétique)
* Remplace les tirets de soustraction par points médians ou des tirets
cadratins (si c'est trop long, nous pourrions mettre des
demi-cadratins).
* Met les abréviations des jours anglais en exposant, comme
`3<sup>rd</sup>`
Il faut ré-enregistrer l'adresse courriel une fois dans l'interface de
FreshRSS pour créer le fichier nécessaire.
+ Comparaison sans tenir compte de la casse pour les noms d'utilisateur.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126
ll faudra tester la sécurité
Implémente https://github.com/marienfressinaud/FreshRSS/issues/260
(évite les comparaisons de chaînes au profit des vrais booléens et
entiers)
Grosse simplification et réduction du code relatif à la configuration.
Supprime ConfigurationDAO.
Permet de simplifier considérablement configureController.
Évite de multiples copies des mêmes données en mémoire.
Évite de garder plusieurs versions de la configuration en mémoire
(auparavant : dans un tableau au niveau de ModelArray + au niveau de
FreshRSS_Configuration + en Session + des copies temporaires comme
ConfigurationDAO).
Ne stocke plus 'conf' en Session (n'était presque pas utilisé).
Évite de recharger plusieurs fois Translate inutilement.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/303
Utilisation de fonctions natives de PHP comme file_put_contents et
var_export
Évite de garder un descripteur de fichier ouvert tout le temps
Et ModelTxt n'est plus utilisé
Tentative de reformulation de la requête principale pour améliorer les
performances.
Utilisation d'une sous-jointure qui retourne uniquement e.id.
Sur mon serveur avec 13000 articles, la requête de la page d'accueil
sans article non lu mettait 1.38s avant le patch, contre 0.08s après (en
désactivant bien sûr le cache SQL).
Il faudra re-tester et tenter d'autres optimisations (notamment sur les
index) avec un nombre d'articles plus important.
Avant :
SELECT SQL_NO_CACHE e.id, e.guid, e.title, e.author,
UNCOMPRESS(e.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
`freshrss_alex_feed` f ON e.id_feed = f.id WHERE f.priority > 0 AND
(e.id >= 1371597014000000 OR e.is_favorite = 1 OR f.keep_history = 1)
ORDER BY e.id DESC LIMIT 33;
Après :
SELECT SQL_NO_CACHE e.id, e.guid, e.title, e.author,
UNCOMPRESS(e.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 >= 1371597014000000 OR e1.is_favorite = 1 OR f.keep_history = 1)
ORDER BY e1.id DESC LIMIT 33) e2 ON e2.id = e.id ORDER BY e.id DESC;