* Évite de faire un accès disque systématique pour vérifier si le .ico
est présent, et ne le fait plus que lors d'un ajout ou rafraîchissement
de flux
* Corrige un bug pour les flux qui n'ont pas de site Web déclaré
* Efface le favicon lorsqu'un flux est supprimé (seulement
individuellement pour l'instant)
Voir aussi https://github.com/marienfressinaud/FreshRSS/issues/290
Évite de charger lib_phpQuery (170ko de code tout de même) jusqu'au
moment où la librairie est éventuellement nécessaire (c'est-à-dire pour
le téléchargement du contenu des articles tronqués, si cette
fonctionnalité est utilisée)
* 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é...
Ça y est, j'ai tout cassé...
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/204
Compatible MySQL 5.0.
Commentaires souhaités avant l'implémentation de la recherche côté base
de données.
Pour l'instant, je n'ai pas fait de script de mise à jour, car la
manière précédente `base64_encode(gzdeflate(serialize($content)))` est
difficile à traiter côté MySQL et nécessite une boucle en PHP.
Avec la nouvelle approche de ce patch, nous pourrons plus facilement
changer d'avis sans perte de compatibilité.
L'id d'un flux est généré à l'ajout. On continuait de considérer qu'on
l'avait généré nous-même lors de l'ajout. Du coup on essayait d'ajouter
des articles en BDD associés à un flux qui n'existait pas et la
redirection ne marchait pas
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
Les zones cliquables s'étaient rapetissées dans les en-têtes des
articles (le lien n'occupait pas toute la place)
La zone d'en-dessous était aussi ratatinnée
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
Bouge le petit style dédié à l'impression dans la CSS principale, pour
de meilleures performances, et aussi pour permettre aux thèmes de
changer le rendu à l'impression.
Au passage, ajout de `@charset "UTF-8";` en tête de CSS
Expérimentation : utilisation de vraies images à la place des icônes
générées en CSS.
Permet de fournir un texte alternatif affiché en cas de non-chargement
de l'image (par choix ou problème réseau par exemple).
Meilleure sémantique (plutôt que le tag i détourné).
Implémente https://github.com/marienfressinaud/FreshRSS/issues/284
Il est toujours possible de changer d'icônes selon les thèmes grâce à
RSSThemes.php
* Évite de charger les informations de tous les thèmes lorsque ce n'est
pas nécessaire (c.à.d. en dehors de la page de configuration).
* Permettra de choisir des icônes différentes selon les thèmes sans
nécessairement passer par une CSS.
* Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
Centralisation de la génération du code des icônes pour pouvoir plus
facilement le changer, en particulier en préparation d'améliorations
futures :
* ajouter des alternatives lorsque l'image n'est pas affichée ;
* améliorer l'accessibilité ;
* permettre de changer les icônes selon le thème graphique choisi ;
* simplifier les CSS.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
FreshRSS est maintenant utilisable en bonne partie sans CSS.
Ce patch inclut un caractère Unicode approprié en plus de certaines
icônes définies en tant qu'image en CSS.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
Il manque encore certaines icônes, et les alternatives Unicode ne sont
pour l'instant pas montrées si la CSS est chargée mais que les images ne
le sont pas.