I splitted the reading configuration page in 2 pages. The display configuration page
to prepare for #265 and the reading configuration page.
It is just a test, feel free to discard that.
I also change some wording to be consistent through out the application.
- FeedController->addAction (GET) shows a confirmation page
- If already subscribe, redirect to Configure->feedAction
- Add a bookmark in aside_feed
See #425#426 and #464
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
I added a new option in the category select. It allows the user to add dynamically
a new category and add the feed to the newly created category.
See #356
- code improved
- possibility to move directly from "all" category
- when there is no selected feed and we want the "next one", first feed is
selected (last before). Same for categories
See #256
Notifications can be opened directly in JavaScript
Class .notification is now id #notification
New message when there is no feed to refresh
See 06abbd02c2 (comments)
Désormais, les champs marqués d'un .extend s'étendront sur 300px (taille
par défaut = 180px). Cela a été impliqué dans tous les thèmes. Le
champs de recherche bénéficie de cette amélioration (mais ce dernier est
un peu plus grand par défaut)
Voir issue #375
Correction d'un bug JavaScript récent dans la vue globale.
Corrections de nombreux bugs lors des changements de vue
https://github.com/marienfressinaud/FreshRSS/issues/346 et amélioration
des performances pour la génération des URL en évitant beaucoup d'appels
de fonctions https://github.com/marienfressinaud/FreshRSS/pull/362
De plus, dans les URL, is_favorite et is_read ont maintenant une valeur
par défaut de 1, ce qui évite de les écrire dans beaucoup de cas.
Suppression des espaces blancs de la sortie HTML au niveau de quelques
boucles critiques.
Lorsque la vue globale est la vue par défaut et que la vue normale est sélectionnée,
la navigation continue en vue globale. C'est également vrai pour la vue lecture.
Le comportement est modifié pour conserver la vue sélectionnée lors de la navigation.
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
C'est parti de changements pour
https://github.com/marienfressinaud/FreshRSS/issues/255 et finalement
j'ai continué la refactorisation...
Ajout de préfixes FreshRSS_ et Minz_ sur le modèle de SimplePie_.
Toutes les classes sont maintenant en chargement automatique (devrait
améliorer les performances en évitant de charger plein de classes
inutilisées, et faciliter la maintenance).
Suppression de set_include_path().
Si souhaité, certaines classes de Minz pourraient être déplacées dans un
sous-répertoire, par exemple les exceptions.
Tests et relecture nécessaires.
Précharge les icônes qui ne sont pas forcément affichées sur la page en
cours (par exemple l'icône favoris) pour éviter d'avoir un bref instant
sans icône lors du changement d'état (par exemple lorsqu'on marque un
article comme favoris)
* Optimisation recherche SQL avec utilisation de HAVING plutôt que WHERE
* Simplification et amélioration des performances en supprimant de
RSSPaginator qui n'aidait plus vraiment et nécessitait plus de code et
des copies de données.
* Correction d'un bug dans le titre de la page introduit récemment, et
simplification
Premier essai de recherche côté base de données (à améliorer)
https://github.com/marienfressinaud/FreshRSS/issues/204
Pour l'instant fait avec du LIKE et pas d'indexation texte complet.
* Suppression de EntriesGetter car le code est devenu plus simple grâce
au filtrage côté SQL
* Uniformisation de get_c à une lettre ('all' devient 'a','favoris'
devient 's' - pour "starred") pour simplifier le code
* low_to_high par DESC, high_to_low par ASC
* Réduction du nombre de créations de *DAO dans indexController
* Refactorisation de checkAndProcessType()
Pas encore trop testé...
Passage en microsecondes pour le touch (gestion du cache) pour éviter
les problèmes en particulier dans le cas de requêtes de moins d'une
seconde.
Nouvelle fonction invalidateHttpCache() pour plus facilement changer de
méthode de contrôle de fraîcheur de cache.
Devrait résoudre https://github.com/marienfressinaud/FreshRSS/issues/296
Expérimentation : classement par date d'ajout dans la base plutôt que
selon la date déclarée par le flux (qui est parfois fausse dans le
passé, dans le futur, ou absente).
Quelques conséquences :
* Les flux avec des dates erronées ne sont plus un problème
* Lorsqu'on fait "marquer tout comme lu", les articles arrivés pendant
la lecture ne sont plus indûment marqués comme lus
* Les articles ont tendance à être plus regroupés par flux lorsqu'on les
affiche par catégorie
* Si un utilisateur n'utilise pas de cron et n'utilise pas FreshRSS
pendant plusieurs jours, lors du rafraîchissement, les nouveaux articles
seront dans "Aujourd'hui" (à interpréter donc comme les articles reçus
aujourd'hui, et non comme déclarés comme étant publiés aujourd'hui)
* La pagination est plus efficace
Termine l'implémentation de
https://github.com/marienfressinaud/FreshRSS/issues/202