Commit Graph

73 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
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
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
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
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
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
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
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
627ada9531 Meilleurs messages DEBUG lors de cleanOldEntries 2013-11-17 17:24:05 +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
Marien Fressinaud
5fc72aa7fe Lance une actualisation des flux après import OPML
Le script d'actualisation est lancé après avoir importé les flux
automatiquement
Voir issue #196
2013-11-09 23:16:13 +01:00
Marien Fressinaud
602230ec53 Fix issue #238: possibilité d'actualiser avec token
En précisant le token il est possible maintenant d'actualiser les flux
sans avoir besoin de se connecter
2013-11-08 19:13:46 +01:00
Alexandre Alapetite
6e52983906 Petits changements mineurs 2013-11-08 17:39:48 +01:00
Alexandre Alapetite
fdb2b7588e Actualize : évite d'ajouter les articles déjà connus
Dans la plupart des cas, évite d'ajouter les articles déjà présents dans
la base de données, en faisant une pré-requête (une par flux, pas une
par article).
Par exemple, si un flux RSS fournit 20 articles, alors la pré-requête
charge une liste d'exclusion de 20+2 identifiants d'articles.
Ce patch réduit considérablement le nombre de requêtes et la charge de
la base de données durant les mises à jour, et en particulier le trafic
réseau entre PHP et la base de données.
Les mises à jour sont du coup aussi plus rapides.
2013-11-05 18:37:41 +01:00
Marien Fressinaud
008d6a7047 Merge branch 'SqlOptimisation' of https://github.com/Alkarex/FreshRSS into Alkarex-SqlOptimisation
Conflicts:
	app/controllers/feedController.php
2013-09-14 19:44:53 +02:00
Marien Fressinaud
adc33811c3 Fix issue #158 : ajout premier flux fonctionne
La catégorie par défaut est bien mise par défaut pour le premier flux
2013-09-14 17:48:33 +02:00
Alexandre Alapetite
7627970862 Corrected bug with the default "No Category"
The SQL optimisation patch had introduced a bug with "No Category", now
solved
2013-09-12 22:41:09 +02:00
Marien Fressinaud
9642fbb221 Fix issue #118 : option pour garder historique
*** ATTENTION, MODIFICATION DE LA BDD ***

Cette option permet de garder les vieux articles d'un flux en même s'ils
sont plus vieux que la limite des X mois d'historique (3 par défaut)

Les modifications de la base de données :
- ajout du champ "keep_history int(1) DEFAULT 0" à la table feed
- suppression des champs "is_public" et "lastUpdate" de la table entry
  (n'étaient plus utilisés de toute façon)
2013-08-22 11:11:22 +02:00
Marien Fressinaud
f6d730f9d1 Fix issue #106 : modif nom classes Cache et Log
Passage en Minz_Cache et Minz_Log
Permet d'éviter les redondances quand ces classes sont déjà définies
Je n'utilise pas d'espace de nom parce que beaucoup de boulot et
nécessite obligatoirement php 5.3
Si d'autres classes nécessitent cette modification je le ferai au fur et
à mesure qu'on me remontera les soucis
La version de Minz pour FreshRSS n'est plus compatible avec la version
distribuée à part
2013-07-27 17:07:44 +02:00
Marien Fressinaud
56854a4147 Fix issue #107 : message quand flux en erreur
Désormais, si on actualise un flux et qu'il passe en erreur, le message
affiché est correct et indique qu'il y a eu un soucis
2013-07-27 11:54:28 +02:00
Marien Fressinaud
5b313ecdcb Fix issue #111 : index httpAuth ajouté (OPML)
Il manquait cet index lors de l'ajout d'un flux par import OPML, c'est
ok maintenant
2013-07-26 19:08:09 +02:00
Marien Fressinaud
1863153b96 Fix issue #71 : remise en place du mode endless + correction bug à l'importation OPML 2013-06-15 15:55:44 +02:00
Marien Fressinaud
9e219cbf50 Fix issue #70 : lorsqu'on rencontre un problème avec un flux, on l'indique à l'utilisateur (couleur rouge) 2013-05-12 19:21:39 +02:00
Marien Fressinaud
5963221249 Fix issue #65 : création d'un vrai script de mise à jour permettant de mettre tous les flux à jour via CRON 2013-05-02 10:18:48 +02:00
Marien Fressinaud
1c202b9364 Correction code + ajout commentaires + à l'ajout d'un flux, on n'ajoute plus les trop vieux articles 2013-05-02 09:44:34 +02:00
Marien Fressinaud
00bac232e0 Importation des flux ok + ajout de commentaires (issue #28) 2013-04-28 16:34:25 +02:00
Marien Fressinaud
bdaddd4e76 Actualisation des flux ok + ajout de commentaires et de TODO (issue #28) 2013-04-28 16:15:16 +02:00
Marien Fressinaud
864318bf68 Meilleure gestion des erreurs lors de l'ajout d'un flux RSS + les vidéos apparaissent maintenant dans les articles + si connexion paramétrée l'actualisation des flux n'est plus permis 2013-04-28 16:01:14 +02:00
Marien Fressinaud
0e95494e29 Fix issue #26 : possibilité de s'abonner à des flux derrière authentification HTTP + correction quelques traductions 2013-04-27 21:08:29 +02:00
Marien Fressinaud
19407e1ab6 Structure pour l'internationalisation terminée (voir bug #38) : il reste à faire la traduction en anglais notamment, rajouter une option pour changer la langue, détecter la langue préférée de l'utilisateur et voir si on peut migrer facilement l'installateur aussi 2013-04-27 13:40:48 +02:00
Marien Fressinaud
244026874a Fix issue #61 : amélioration import OPML 2013-04-17 19:24:21 +02:00
Marien Fressinaud
392672ab27 Fix issue #58 : possibilité de vider une catégorie 2013-04-17 19:05:53 +02:00
Marien Fressinaud
9b8fab7b80 Filtre auto d'un flux lorsqu'on vient de l'actualiser seulement lui 2013-04-13 16:13:44 +02:00
Marien Fressinaud
650a04458a On ne récupère plus le script persona si le login n'est pas configuré 2013-04-13 15:58:18 +02:00
Marien Fressinaud
9b9543109e Fix issue #39 : actualisation de tous les flux grâce à Ajax 2013-04-13 15:27:36 +02:00
Marien Fressinaud
a4beb7b772 Correction faute dans about + ajout options mise à jour et marquer comme lu pour un flux spécifiée 2013-04-13 14:26:13 +02:00
Marien Fressinaud
327b4ed374 Séparation du style en deux fichiers pour faciliter la lecture et les mises à jour 2013-04-11 21:47:39 +02:00
Marien Fressinaud
61943f1661 Plus possible d'ajouter un flux déjà existant + meilleure gestion actualisation / import OPML 2013-04-11 20:32:10 +02:00
Marien Fressinaud
b9f883be69 Gestion des flux https invalides + amélioration mise à jour 2013-04-11 19:48:52 +02:00