Commit Graph

195 Commits

Author SHA1 Message Date
Alexandre Alapetite
7e64cda415 Date minimum pour afficher les articles
Implémente décision
https://github.com/marienfressinaud/FreshRSS/issues/323
2013-12-15 04:07:12 +01:00
Alexandre Alapetite
83e8c68b6f Refactorisation : oubli 2013-12-15 04:03:32 +01:00
Alexandre Alapetite
878e96202e Grosse refactorisation pour permettre le chargement automatique des classes
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.
2013-12-15 03:30:24 +01:00
Alexandre Alapetite
4af233e1f7 Nettoyage des flux plus intelligent
Implémente https://github.com/marienfressinaud/FreshRSS/issues/323
Garde au moins n+10 articles, où n est le nombre d'articles toujours
présent dans le flux RSS.
2013-12-14 16:22:38 +01:00
Alexandre Alapetite
97a7d7b0b2 Microtime : récupération de toutes les microsecondes
Microtime(true) dépend de la précision de PHP définie dans php.ini, et
par défaut, nous perdons les deux dernières décimales des microsecondes.
Du coup, sur une machine très rapide, cela aurait pu poser des problèmes
d'identifiants dupliqués.
Patch utilisant gettimeofday() à la place.
Au passage, reste en string tout le long et plus besoin de faire la
conversion CAST(? * 1000000 AS SIGNED INTEGER) côté base de données.
https://github.com/marienfressinaud/FreshRSS/issues/202
2013-12-12 19:30:19 +01:00
Alexandre Alapetite
0e4274fc00 Permet de supprimer les articles d'un flux
Implémente https://github.com/marienfressinaud/FreshRSS/issues/311
2013-12-05 22:12:08 +01:00
Alexandre Alapetite
bdfea07d8c set_time_limit pour optimizeAction 2013-12-03 23:50:41 +01:00
Alexandre Alapetite
de923b57f4 Amélioration marquage favoris
https://github.com/marienfressinaud/FreshRSS/issues/270
2013-12-03 23:02:55 +01:00
Alexandre Alapetite
018273e272 Corrige bug marquer tous les favoris comme lus
Corrige https://github.com/marienfressinaud/FreshRSS/issues/270
2013-12-03 22:53:51 +01:00
Alexandre Alapetite
0425432271 Option pour marquer les articles comme lus dès la réception
https://github.com/marienfressinaud/FreshRSS/issues/237
https://github.com/marienfressinaud/FreshRSS/issues/309
2013-12-03 19:13:41 +01:00
Alexandre Alapetite
9d9b6b736a OPML : Correction ID feed 2013-12-02 21:06:44 +01:00
Alexandre Alapetite
65c972873b OPML : améliorations
Charge et sauve la description des flux.
Redirige vers la page d'accueil après une importation OPML (maintenant
rapide, et pour mieux permettre le rafraîchissement des flux avec moins
de risques que l'utilisateur quitte la page)

Suite de https://github.com/marienfressinaud/FreshRSS/issues/228
2013-12-02 18:31:40 +01:00
Alexandre Alapetite
b40783e888 Affiche la taille de la base de données 2013-12-02 18:27:03 +01:00
Alexandre Alapetite
1a270309a5 Favicons : amélioration
* É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
2013-12-02 18:23:57 +01:00
Alexandre Alapetite
97227a067b OPML : Import instantané
Clôture https://github.com/marienfressinaud/FreshRSS/issues/228
Nous perdons le champ description des flux, mais celui-ci pourrait par
exemple être récupéré au premier rafraîchissement du flux si nécessaire
2013-12-02 00:06:52 +01:00
Alexandre Alapetite
f0be8fd4f2 Correction rss_title
rss_title avait été perdu par un patch récent
2013-12-01 23:13:08 +01:00
Alexandre Alapetite
b646bd2f08 JSON : utiliser application/json
Les réponses JSON utilisaient indument text/html
Repéré à cause de
https://github.com/marienfressinaud/FreshRSS/issues/306
2013-12-01 17:50:35 +01:00
Alexandre Alapetite
7cfd6c84cc PHP set_time_limit
Ajout de quelques set_time_limit pour
https://github.com/marienfressinaud/FreshRSS/issues/228
2013-12-01 11:55:27 +01:00
Alexandre Alapetite
1e077160fc Optimisation recherche et pagination
* 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
2013-11-30 22:47:48 +01:00
Alexandre Alapetite
37ce14c093 Recherche côté SQL avec LIKE
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é...
2013-11-30 17:21:26 +01:00
Marien Fressinaud
69662117a3 Ajoute raccourci load more
Permet de charger les articles suivants en appuyant sur "m" (par défaut)
2013-11-28 23:46:56 +01:00
Marien Fressinaud
7e65c6b782 Corrige bug ajout flux
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
2013-11-28 23:10:09 +01:00
Alexandre Alapetite
7cdc477c45 touch en microsecondes
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
2013-11-28 20:59:31 +01:00
Marien Fressinaud
3f63195c5f Première version pour imprimer les articles
Voir #122
2013-11-28 18:57:22 +01:00
Marien Fressinaud
cec39d14f1 Merge branch 'dev' into sharing 2013-11-28 15:32:27 +01:00
Marien Fressinaud
1e9ccb1da9 Ajoute options pour désactiver partage
Possibilité de désactiver le partage Twitter, G+, FB et email
Refactorisation de certaines parties du code
2013-11-28 15:30:24 +01:00
Marien Fressinaud
d6a685b0d0 Ajout options partage Poche et Diaspora
Le partage n'est pas encore possible mais on peut préciser les urls dans
la configuration
Voir #175
2013-11-28 13:26:11 +01:00
Alexandre Alapetite
dcd6f3ef16 e.id utilise la date déclarée pour les nouveaux flux
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/202
2013-11-28 10:05:58 +01:00
Marien Fressinaud
38b4ba034f Déplacement de config Shaarli
Page dédiée pour les options de partage
Voir #175
2013-11-28 02:52:30 +01:00
Alexandre Alapetite
ee2c1a8c78 Classement par date d'ajout e.id (expérimentation)
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
2013-11-28 01:42:39 +01:00
Alexandre Alapetite
91bf307d49 Typo commentaire 2013-11-27 08:38:57 +01:00
Alexandre Alapetite
6130ba6157 SQL : utilisation de (id_feed, guid) pour l'unicité
Préparation avant
https://github.com/marienfressinaud/FreshRSS/issues/202
2013-11-26 23:53:22 +01:00
Alexandre Alapetite
51900de16c Bug updateCachedValues 2013-11-19 10:57:00 +01:00
Alexandre Alapetite
e2d4f1a721 SQL : identifiant entier automatique pour les catégories et les flux
Implémentation de
https://github.com/marienfressinaud/FreshRSS/issues/262
La catégorie par défaut à le numéro 1.
Les numéros de catégories et de flux sont automatiques (1, 2, 3...)
L'installeur semble marcher.
2013-11-18 23:04:43 +01:00
Alexandre Alapetite
1b983e7414 Merge pull request #280 from aledeg/issue178
Support de la modification des informations d'un flux.
2013-11-18 00:14:36 -08:00
Alexis Degrugillier
ceeef41a96 Support de la modification des informations d'un flux.
Ajout de la modification de la description, de l'URL du site et de l'URL du RSS

https://github.com/marienfressinaud/FreshRSS/issues/178
2013-11-17 19:01:38 -05:00
Alexis Degrugillier
ff1803e61a Ajout d'un raccourci pour refermer un article.
https://github.com/marienfressinaud/FreshRSS/issues/256
2013-11-17 15:26:20 -05:00
Alexandre Alapetite
627ada9531 Meilleurs messages DEBUG lors de cleanOldEntries 2013-11-17 17:24:05 +01:00
Marien Fressinaud
8c8e5257d8 Corrige bug chargement JS
Lorsque la vue par défaut était le mode lecture, le JS ne se chargeait
pas. La faute au script LazyLoad qui n'était pas chargé correctement
2013-11-17 12:42:46 +01:00
Alexandre Alapetite
9c5c023e36 Réorganisation des fichiers utilisateur
Implémente https://github.com/marienfressinaud/FreshRSS/issues/248
2013-11-17 02:56:30 +01:00
Alexandre Alapetite
4a2b17d54a Minz : nouveau Minz_Log::DEBUG
Nouveau niveau Minz_Log::DEBUG pour plus de finesse dans les messages
2013-11-16 22:41:03 +01:00
Alexandre Alapetite
32306a78d2 SQL : grosse mise à jour avec mise en cache du nombre d'articles lus/non-lus
* Mise en cache du nombre d'articles lus et non-lus par flux, via
`f.cache_nbEntries, f.cache_nbUnreads` pour de biens meilleures
performances
* Implémente https://github.com/marienfressinaud/FreshRSS/issues/268
* Révision de la plupart des requêtes de modification en conséquence
* En cas d'affichage `not_read`, évite de faire une requête si on sait
déjà qu'il n'y a pas d'article non lu et fait directement un affichage
`all`.
* Appelle `cleanOldEntries` seulement une fois de temps en temps
aléatoirement (1 fois sur 30 actuellement) pour économiser les
ressources, et avant les insertions pour plus de robustesse.
* Utilisation des transactions lors de mises à jour multiples et liées
* Lors de requêtes de modifications, retourne le nombre de lignes
impactées plutôt qu'un booléen en cas de succès
* Suppression de code oublié relatif à is_public qui n'est plus utilisé
2013-11-16 21:03:25 +01:00
Alexandre Alapetite
6fe1e1bad0 Ajout d'un bouton pour effacer les logs
https://github.com/marienfressinaud/FreshRSS/issues/242
2013-11-13 23:34:30 +01:00
Alexandre Alapetite
d654b34fa7 Affichage du nombre total d'article sur la page de configuration
https://github.com/marienfressinaud/FreshRSS/issues/263
Style à améliorer éventuellement
2013-11-13 21:32:50 +01:00
Marien Fressinaud
295113eb2e Invalide cache lors d'une optimisation de la BDD
Pour avoir la notification après une optimisation, on doit invalider le
cache. Un peu dommage puisque rien de visible n'est changé sinon

À voir pour améliorer le système de notification plus tard
2013-11-12 22:45:00 +01:00
Alexandre Alapetite
fcc2e023ef Oubli variable inutile
Suite de
7e9263ff5c
2013-11-12 19:01:01 +01:00
Alexandre Alapetite
7e9263ff5c SQL : Suppression requêtes SELECT inutile avant UPDATE
Suppression requête SELECT avant UPDATE entry.is_favorite
2013-11-12 18:51:02 +01:00
Alexandre Alapetite
14342603a0 Suppression de requêtes de catégorie et de flux
* Suppression de requêtes inutiles en utilisant mieux les données déjà
reçues.
* Change la signature de `CategoryDAO->listCategories ($prePopulateFeeds
= true, $details = false)` pour ne pas charger de détails inutiles pour
la vue principale (comme feed.description, feed.url...).
* C'est la requête la plus importante.
Suite de https://github.com/marienfressinaud/FreshRSS/pull/180
2013-11-12 18:41:31 +01:00
Alexandre Alapetite
58cb842966 Suppression multiples requêtes count
Suppression de plusieurs requêtes count inutiles (genre
`$entryDAO->countNotRead()` avant un UPDATE), et suppression de
l'affichage du nombre d'articles total.
Corrige https://github.com/marienfressinaud/FreshRSS/issues/246
2013-11-12 18:22:41 +01:00
Marien Fressinaud
97c3c7575a Suppression des warnings liés à filemtime
ajout de "@" pour éviter les warnings, touch.txt sera créé un peu plus
tard
2013-11-10 20:06:33 +01:00